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代码实例
Feb 04 Python
通过数据库向Django模型添加字段的示例
Jul 21 Python
详解Python的Django框架中的中间件
Jul 24 Python
python学习之第三方包安装方法(两种方法)
Jul 30 Python
python opencv之分水岭算法示例
Feb 24 Python
PyQt实现界面翻转切换效果
Apr 20 Python
Python替换月份为英文缩写的实现方法
Jul 15 Python
PHP统计代码行数的小代码
Sep 19 Python
浅析使用Python搭建http服务器
Oct 27 Python
Python 模拟动态产生字母验证码图片功能
Dec 24 Python
pycharm如何使用anaconda中的各种包(操作步骤)
Jul 31 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 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使用数组实现队列
2012/02/05 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
深入理解PHP几个算法:PHP冒泡、PHP二分法、PHP求素数、PHP乘法表
2013/06/06 PHP
PHP大小写问题:函数名和类名不区分,变量名区分
2013/06/17 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
JSON+JavaScript处理JSON的简单例子
2013/03/20 Javascript
详解AngularJS中的作用域
2015/06/17 Javascript
jQuery实现折叠、展开的菜单组效果代码
2015/09/16 Javascript
js实现搜索框关键字智能匹配代码
2020/03/26 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
2016/02/25 Javascript
dedecms页面如何获取会员状态的实例代码
2016/03/15 Javascript
js仿QQ中对联系人向左滑动、滑出删除按钮的操作
2016/04/07 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
jquery radio 动态控制选中失效问题的解决方法
2018/02/28 jQuery
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
解决vue-cli项目开发运行时内存暴涨卡死电脑问题
2019/10/29 Javascript
vue项目配置使用flow类型检查的步骤
2020/03/18 Javascript
[05:09]第二届DOTA2亚洲邀请赛决赛日比赛集锦:iG 3:0 OG夺冠
2017/04/05 DOTA
python实现无证书加密解密实例
2014/10/27 Python
Python之py2exe打包工具详解
2017/06/14 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
利用pytorch实现对CIFAR-10数据集的分类
2020/01/14 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
意大利奢侈品购物网站:Deliberti
2019/10/08 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
linux面试题参考答案(4)
2014/09/21 面试题
文员个人求职自荐信
2013/09/21 职场文书
2014年学校党建工作汇报材料
2014/11/02 职场文书
2014年医药代表工作总结
2014/11/22 职场文书
义诊活动通知
2015/04/24 职场文书
复兴之路纪录片观后感
2015/06/02 职场文书
贫困证明书范文
2015/06/16 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers
Opencv实现二维直方图的计算及绘制
2021/07/21 Python