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随机数random模块使用指南
Sep 09 Python
使用apidocJs快速生成在线文档的实例讲解
Feb 07 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
pip安装时ReadTimeoutError的解决方法
Jun 12 Python
Python实现简易过滤删除数字的方法小结
Jan 09 Python
获取django框架orm query执行的sql语句实现方法分析
Jun 20 Python
Python 3 判断2个字典相同
Aug 06 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
Tensorflow 自定义loss的情况下初始化部分变量方式
Jan 06 Python
Tensorflow: 从checkpoint文件中读取tensor方式
Feb 10 Python
如何用Anaconda搭建虚拟环境并创建Django项目
Aug 02 Python
scrapy处理python爬虫调度详解
Nov 23 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
PHPWind与Discuz截取字符函数substrs与cutstr性能比较
2011/12/05 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
jquery 指南/入门基础
2007/11/30 Javascript
Javascript模块模式分析
2008/05/16 Javascript
json 实例详细说明教程
2009/10/31 Javascript
指定位置如果有图片显示图片,无图片显示广告的JS
2010/06/05 Javascript
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
jQuery学习笔记(3)--用jquery(插件)实现多选项卡功能
2013/04/08 Javascript
jQuery获取Radio,CheckBox选择的Value值(示例代码)
2013/12/12 Javascript
JS常用表单验证方法总结
2014/05/22 Javascript
Web打印解决方案之证件套打的实现思路
2016/08/29 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
ES6数组的扩展详解
2017/04/25 Javascript
es6数组includes()用法实例分析
2020/04/18 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
[51:06]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS Liquid
2018/03/30 DOTA
使用Python开发windows GUI程序入门实例
2014/10/23 Python
Python制作爬虫抓取美女图
2016/01/20 Python
浅谈终端直接执行py文件,不需要python命令
2017/01/23 Python
Python变量类型知识点总结
2019/02/18 Python
pyinstaller 3.6版本通过pip安装失败的解决办法(推荐)
2020/01/18 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
彻底弄明白CSS3的Media Queries(跨平台设计)
2010/07/27 HTML / CSS
Michael Kors美国官网:美式奢侈生活风格的代表
2016/11/25 全球购物
入团者的自我评价分享
2013/12/02 职场文书
好邻里事迹材料
2014/01/16 职场文书
个人担保书格式范文
2014/05/12 职场文书
家长会欢迎标语
2014/06/24 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
初中信息技术教学计划
2015/01/22 职场文书
大学生军训感言
2015/08/01 职场文书
小学班长竞选稿
2015/11/20 职场文书
从贫穷到富有,是知识技能和学习力的差别
2019/08/20 职场文书
Nginx性能优化之Gzip压缩设置详解(最大程度提高页面打开速度)
2022/02/12 Servers