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实现的防DDoS脚本
Feb 08 Python
py2exe 编译ico图标的代码
Mar 08 Python
Python ORM框架SQLAlchemy学习笔记之数据查询实例
Jun 10 Python
在Python 3中实现类型检查器的简单方法
Jul 03 Python
分享python数据统计的一些小技巧
Jul 21 Python
python在非root权限下的安装方法
Jan 23 Python
Python批量发送post请求的实现代码
May 05 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
Python简直是万能的,这5大主要用途你一定要知道!(推荐)
Apr 03 Python
Python学习笔记之While循环用法分析
Aug 14 Python
python 操作hive pyhs2方式
Dec 21 Python
PyTorch加载自己的数据集实例详解
Mar 18 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
PHP原生模板引擎 最简单的模板引擎
2012/04/25 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
前端必学之PHP语法基础
2016/01/01 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
PHP面向对象程序设计之对象的遍历操作示例
2019/06/12 PHP
解决Laravel自定义类引入和命名空间的问题
2019/10/15 PHP
kmock javascript 单元测试代码
2011/02/06 Javascript
jQuery 1.8 Release版本发布了
2012/08/14 Javascript
JavaScript Ajax Json实现上下级下拉框联动效果实例代码
2013/11/23 Javascript
javascript和jquery修改a标签的href属性
2013/12/16 Javascript
jquery单行文字向上滚动效果示例
2014/03/06 Javascript
jquery中animate的stop()方法作用实例分析
2015/01/30 Javascript
jquery动画效果学习笔记(8种效果)
2015/11/13 Javascript
JS简单实现无缝滚动效果实例
2016/08/24 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
angularjs2 ng2 密码隐藏显示的实例代码
2017/08/01 Javascript
Vue项目服务器部署之子目录部署方法
2019/05/12 Javascript
小程序Request的另类用法详解
2019/08/09 Javascript
python 打印直角三角形,等边三角形,菱形,正方形的代码
2017/11/21 Python
Python如何发布程序的详细教程
2018/10/09 Python
利用python实现简易版的贪吃蛇游戏(面向python小白)
2018/12/30 Python
学习和使用python的13个理由
2019/07/30 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
html5 Canvas画图教程(11)—使用lineTo/arc/bezierCurveTo画椭圆形
2013/01/09 HTML / CSS
上海某公司.net方向笔试题
2014/09/14 面试题
应届生求职推荐信
2013/10/28 职场文书
关于幼儿的自我评价
2013/12/18 职场文书
安全资金保障制度
2014/01/23 职场文书
护校行动方案
2014/05/31 职场文书
个人委托书如何写
2014/09/25 职场文书
自我检讨报告
2015/01/28 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
java多态注意项小结
2021/10/16 Java/Android
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL
微信小程序 根据不同用户切换不同TabBar
2022/04/21 Javascript