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同时兼容python2和python3的8个技巧分享
Jul 11 Python
Python实现删除Android工程中的冗余字符串
Jan 19 Python
Python爬虫:通过关键字爬取百度图片
Feb 17 Python
Python解析并读取PDF文件内容的方法
May 08 Python
Python传递参数的多种方式(小结)
Sep 18 Python
TensorFlow通过文件名/文件夹名获取标签,并加入队列的实现
Feb 17 Python
Python 找出出现次数超过数组长度一半的元素实例
May 11 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
May 27 Python
Python3内置函数chr和ord实现进制转换
Jun 05 Python
Prometheus开发中间件Exporter过程详解
Nov 30 Python
详解python中[-1]、[:-1]、[::-1]、[n::-1]使用方法
Apr 25 Python
python识别围棋定位棋盘位置
Jul 26 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防止SQL注入详解及防范
2013/11/12 PHP
PHP后期静态绑定实例浅析
2018/12/21 PHP
WEB 浏览器兼容 推荐收藏
2010/05/14 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
ie支持function.bind()方法实现代码
2012/12/27 Javascript
JS函数的几种定义方式分析
2015/12/17 Javascript
JQuery用户名校验的具体实现
2016/03/18 Javascript
js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
2016/12/02 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
nodejs通过钉钉群机器人推送消息的实现代码
2019/05/05 NodeJs
Vue代码整洁之去重方法整理
2019/08/06 Javascript
vue解决花括号数据绑定不成功的问题
2019/10/30 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
[38:39]完美世界DOTA2联赛循环赛 IO vs GXR BO2第二场 11.04
2020/11/05 DOTA
python自动化工具日志查询分析脚本代码实现
2013/11/26 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python常用的内置序列结构(列表、元组、字典)学习笔记
2016/07/08 Python
让python 3支持mysqldb的解决方法
2017/02/14 Python
python中subprocess批量执行linux命令
2018/04/27 Python
Python 实现异步调用函数的示例讲解
2018/10/14 Python
python用pandas数据加载、存储与文件格式的实例
2018/12/07 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
python使用Plotly绘图工具绘制水平条形图
2020/03/25 Python
Python匿名函数及应用示例
2019/04/09 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
html标签之Object和EMBED标签详解
2013/07/04 HTML / CSS
装潢设计实习自我鉴定
2013/09/19 职场文书
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
销售找工作求职信
2013/12/20 职场文书
交通安全标语
2014/06/06 职场文书
实习科室评语
2015/01/04 职场文书
2016年寒假社会实践活动总结
2015/10/10 职场文书
2019客服个人年终工作总结范文
2019/07/08 职场文书
laravel ajax curd 搜索登录判断功能的实现
2021/04/17 PHP