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的身份证号码自动生成程序
Aug 15 Python
django使用html模板减少代码代码解析
Dec 12 Python
python ftp 按目录结构上传下载的实现代码
Sep 12 Python
pycharm运行程序时在Python console窗口中运行的方法
Dec 03 Python
Python中断多重循环的思路总结
Oct 04 Python
Python-numpy实现灰度图像的分块和合并方式
Jan 09 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
Jan 23 Python
Python实现验证码识别
Jun 15 Python
Python类型转换的魔术方法详解
Dec 23 Python
python 对xml解析的示例
Feb 27 Python
Python闭包的定义和使用方法
Apr 11 Python
Pygame游戏开发之太空射击实战敌人精灵篇
Aug 05 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 飞信好友免费短信API接口开源版
2010/07/22 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
PHP设计模式之观察者模式实例
2016/02/22 PHP
thinkPHP的表达式查询用法详解
2016/09/14 PHP
PHP使用Session实现上传进度功能详解
2019/08/06 PHP
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
UpdatePanel和Jquery冲突的解决方法
2013/04/01 Javascript
JS修改css样式style浅谈
2013/05/06 Javascript
asm.js使用示例代码
2013/11/28 Javascript
在javascript中如何得到中英文混合字符串的长度
2014/01/17 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
javascript中with()方法的语法格式及使用
2014/08/04 Javascript
javascript实现tab切换的四种方法
2015/11/05 Javascript
java中String类型变量的赋值问题介绍
2016/03/23 Javascript
JavaScript浏览器对象模型BOM(BrowserObjectModel)实例详解
2016/11/29 Javascript
jQuery窗口拖动功能的实现代码
2017/02/04 Javascript
jQuery中.attr()和.data()的区别分析
2017/09/03 jQuery
微信小程序实现动态设置placeholder提示文字及按钮选中/取消状态的方法
2017/12/14 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
基于vue-element组件实现音乐播放器功能
2018/05/06 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
vue下的@change事件的实现
2019/10/25 Javascript
基于Vue3.0开发轻量级手机端弹框组件V3Popup的场景分析
2020/12/30 Vue.js
python调用外部程序的实操步骤
2019/03/04 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
丝芙兰美国官网:SEPHORA美国
2016/08/03 全球购物
英国现代、当代和设计师家具店:Furntastic
2020/07/18 全球购物
应聘医药销售自荐书范文
2014/02/08 职场文书
法定代表人授权委托书范文
2014/09/22 职场文书
民事代理词范文
2015/05/25 职场文书
中学音乐课教学反思
2016/02/18 职场文书
Oracle中update和select 关联操作
2022/01/18 Oracle
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
Python docx库删除复制paragraph及行高设置图片插入示例
2022/07/23 Python