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连接mysql调用存储过程示例
Mar 05 Python
Python中用max()方法求最大值的介绍
May 15 Python
Python中字符串对齐方法介绍
May 21 Python
K-means聚类算法介绍与利用python实现的代码示例
Nov 13 Python
Python简易版图书管理系统
Aug 12 Python
使用python matplotlib 画图导入到word中如何保证分辨率
Apr 16 Python
PyQt5实现简单的计算器
May 30 Python
基于python 将列表作为参数传入函数时的测试与理解
Jun 05 Python
Python turtle库的画笔控制说明
Jun 28 Python
python3获取控制台输入的数据的具体实例
Aug 16 Python
python 牛顿法实现逻辑回归(Logistic Regression)
Oct 15 Python
Python join()函数原理及使用方法
Nov 14 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一些常用的正则表达式字符的一些转换
2008/07/29 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
php处理带有中文URL的方法
2016/07/11 PHP
PHP 图片处理
2020/09/16 PHP
写JQuery插件的基本知识
2013/11/25 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
JavaScript判断IE版本型号
2015/07/27 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
2016/01/05 Javascript
基于javascript的Form表单验证
2016/12/29 Javascript
js实现3D图片展示效果
2017/03/09 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
vue实现微信分享功能
2018/11/28 Javascript
JS与SQL方式随机生成高强度密码示例
2018/12/29 Javascript
了解JavaScript函数中的默认参数
2019/05/30 Javascript
[01:02:17]2014 DOTA2华西杯精英邀请赛 5 24 DK VS VG
2014/05/26 DOTA
[15:20]DOTA2-DPC中国联赛 正赛 Elephant vs Aster 选手采访
2021/03/11 DOTA
Python中的jquery PyQuery库使用小结
2014/05/13 Python
Python作用域用法实例详解
2016/03/15 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
pyqt5 获取显示器的分辨率的方法
2019/06/18 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
基于Pycharm加载多个项目过程图解
2020/01/19 Python
python tkinter 设置窗口大小不可缩放实例
2020/03/04 Python
python实现计算器简易版
2020/12/17 Python
拉斯维加斯城市观光通行证:Las Vegas Pass
2019/05/21 全球购物
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
Structs界面控制层技术
2013/10/11 面试题
学校运动会开幕演讲稿
2014/01/04 职场文书
银行实习生的自我评价
2014/01/13 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书
Mysql中where与on的区别及何时使用详析
2021/08/04 MySQL
Golang 1.18 多模块Multi-Module工作区模式的新特性
2022/04/11 Golang