Python中for循环控制语句用法实例


Posted in Python onJune 02, 2015

本文实例讲述了Python中for循环控制语句用法。分享给大家供大家参考。具体分析如下:

第一个:求 50 - 100 之间的质数

import math
for i in range(50, 100 + 1):
  for j in range(2, int(math.sqrt(i)) + 1):
    if i % j == 0:
      break
  else:
    print i

输出如下:

53
59
61
67
71
73
79
83
89
97

第二个:把else的位置与if处于同一缩进。

import math
for i in range(50, 100 + 1):
  for j in range(2, int(math.sqrt(i)) + 1):
    if i % j == 0:
      break
    else:
      print i

第三个:在else后加一个break语句。

import math
for i in range(50, 100 + 1):
  for j in range(2, int(math.sqrt(i)) + 1):
    if i % j == 0:
      break
    else:
      print i
      break

说明:

for语句是python中的循环控制语句。可用来遍历某一对象,还具有一个附带的可选的else块,主要用于处理for语句中包含的break语句。
如果for循环未被break终止,则执行else块中的语句。
break 在需要时终止for循环
continue 跳过位于其后的语句,开始下一轮循环。

for语句的格式如下:
>>>for <> in <对象集合>:
...    if <条件>:
...        break
...    if <条件>:
...        continue
...    <其他语句>
...else:
...    <>
...
 
关于第一个程序

在这里,我解释一下为何导入math模块:导入math模块就是为了开方。
如果导入了math模块,然后对 i 进行开方,可以减少运算次数。
求一个数是否质数。只需对它进行这样的运算:
    将这个数n,循环与 2 到 这个n的开平方 进行相除
如果这个区间内的所有整数不能整除n,则n为质数。
这样,就节省了运算 ‘大于n的开平方 小于n' 之间这段运算的时间。
第二,我解释一下那‘+1':
int(math.sqrt(i)) 输出的是比 i的开平方 小 的最大整数。

比如说:math.sqrt(51) 结果比7大一点,而 int(math.sqrt(51)) 输出的是7
而且在range(m, n)这里,range()函数产生的是一个从 m至n-1的整数列表,因而需要‘+1',使运算完整。

顺便提一下range()函数。

range([start,] stop [, step])
# start  可选参数,起始数
#stop   终止数,如果 range 只有一个参数x,则产生一个包含 0 至 x-1 的整数列表
#step   可选参数,步长
 
第二个程序

else那行不对,如果else放在那个地方的话,一旦有某个数遇到不能整除自己的数,就会输出i,直道找到一个整除自己等于0的数。那样就会连续输出这个数。
例如:i = 77,他不是质数,但是也会连续输出5次77,懂不?
 
只不过,只是自己不明白当else与if位于同一缩进的话,它是怎样运行的。
你解释得很详细,用‘茅塞顿开'来形容一点都不过分。
而且,我必觉得画图是理解循环一个非常好的办法。

Python中for循环控制语句用法实例

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python实现k均值算法示例(k均值聚类算法)
Mar 16 Python
python错误:AttributeError: 'module' object has no attribute 'setdefaultencoding'问题的解决方法
Aug 22 Python
Linux系统上Nginx+Python的web.py与Django框架环境
Dec 25 Python
深入理解python中的select模块
Apr 23 Python
python 将列表中的字符串连接成一个长路径的方法
Oct 23 Python
Python实现判断一个整数是否为回文数算法示例
Mar 02 Python
Python玩转加密的技巧【推荐】
May 13 Python
Python PIL读取的图像发生自动旋转的实现方法
Jul 05 Python
python实现密码验证合格程序的思路详解
Jun 01 Python
Python openpyxl模块实现excel读写操作
Jun 30 Python
使用keras实现非线性回归(两种加激活函数的方式)
Jul 05 Python
python神经网络编程之手写数字识别
May 08 Python
python获取目录下所有文件的方法
Jun 01 #Python
Python常用小技巧总结
Jun 01 #Python
Python获取运行目录与当前脚本目录的方法
Jun 01 #Python
Python运算符重载用法实例分析
Jun 01 #Python
python使用Image处理图片常用技巧分析
Jun 01 #Python
python实现图片变亮或者变暗的方法
Jun 01 #Python
wxPython中listbox用法实例详解
Jun 01 #Python
You might like
php基础学习之变量的使用
2011/06/09 PHP
Laravel 5 学习笔记
2015/03/06 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
PHP基于openssl实现的非对称加密操作示例
2019/01/11 PHP
非常好的js代码
2006/06/27 Javascript
JavaScript 判断指定字符串是否为有效数字
2010/05/11 Javascript
关于jQuery的inArray 方法介绍
2011/10/08 Javascript
jquery text(),val(),html()方法区别总结
2013/11/04 Javascript
JavaScript子类用Object.getPrototypeOf去调用父类方法解析
2013/12/05 Javascript
Javascript 多物体运动的实现
2014/12/24 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
JavaScript使用indexOf获得子字符串在字符串中位置的方法
2015/04/06 Javascript
jQuery检查事件是否触发的方法
2015/06/26 Javascript
轻松学习jQuery插件EasyUI EasyUI创建菜单与按钮
2015/11/30 Javascript
基于jQuery通过jQuery.form.js插件实现异步上传
2015/12/13 Javascript
JavaScript sort数组排序方法和自我实现排序方法小结
2016/06/06 Javascript
详解Vue中添加过渡效果
2017/03/20 Javascript
webpack打包单页面如何引用的js
2017/06/07 Javascript
jQuery Datatables表头不对齐的解决办法
2017/11/27 jQuery
vue + node如何通过一个Txt文件批量生成MP3并压缩成Zip
2020/06/02 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
在Python运行时动态查看进程内部信息的方法
2019/02/22 Python
python退出循环的方法
2020/06/18 Python
CSS实现鼠标滑过鼠标点击代码写法
2016/12/26 HTML / CSS
英国羊皮鞋类领先品牌:Just Sheepskin
2019/12/12 全球购物
为什么需要版本控制
2016/10/28 面试题
大学学年自我鉴定
2013/10/28 职场文书
安全教育演讲稿
2014/05/09 职场文书
民主生活会整改措施(党员)
2014/09/18 职场文书
个人租房协议书范本
2014/09/30 职场文书
大学生党性分析材料
2014/12/19 职场文书
python中取整数的几种方法
2021/11/07 Python
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js
xhunter1.sys可以删除嘛? win11提示xhunter1.sys驱动不兼容解决办法
2022/09/23 数码科技