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 urlopen()函数 示例分享
Jun 12 Python
安装dbus-python的简要教程
May 05 Python
Python实现嵌套列表去重方法示例
Dec 28 Python
pandas读取csv文件,分隔符参数sep的实例
Dec 12 Python
基于python生成器封装的协程类
Mar 20 Python
python制作图片缩略图
Apr 30 Python
python tkinter基本属性详解
Sep 16 Python
Python中sys模块功能与用法实例详解
Feb 26 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python实现图片九宫格分割的示例
Apr 25 Python
Python+Selenium实现读取网易邮箱验证码
Mar 13 Python
基于Python实现射击小游戏的制作
Apr 06 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
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
桌面中心(一)创建数据库
2006/10/09 PHP
PHP新手上路(五)
2006/10/09 PHP
php中array_multisort对多维数组排序的方法
2020/06/21 PHP
PHP简单判断手机设备的方法
2016/08/23 PHP
php监测数据是否成功插入到Mysql数据库的方法
2016/11/25 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
AeroWindow 基于JQuery的弹出窗口插件
2011/06/27 Javascript
Extjs实现进度条的两种便捷方式
2013/09/26 Javascript
JavaScript中创建字典对象(dictionary)实例
2015/03/31 Javascript
通过源码分析Vue的双向数据绑定详解
2017/09/24 Javascript
jQuery Validate插件ajax方式验证输入值的实例
2017/12/21 jQuery
JS数据类型判断的几种常用方法
2020/07/07 Javascript
[08:54]DOTA2-DPC中国联赛 正赛 Aster vs LBZS 选手采访
2021/03/11 DOTA
python使用rabbitmq实现网络爬虫示例
2014/02/20 Python
Python实现的生成自我描述脚本分享(很有意思的程序)
2014/07/18 Python
Python Requests 基础入门
2016/04/07 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
Django中间件基础用法详解
2019/07/18 Python
python处理大日志文件
2019/07/23 Python
Django中的用户身份验证示例详解
2019/08/07 Python
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
英国领先的露营和露营车品牌之一:OLPRO
2019/08/06 全球购物
俄罗斯马克西多姆家居用品网上商店:Максидом
2020/02/06 全球购物
银行自荐信范文
2013/10/07 职场文书
商场消防管理制度
2014/01/12 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
高中生思想道德自我评价
2015/03/09 职场文书
2016年3月份红领巾广播稿
2015/12/21 职场文书
mysql多表查询-笔记七
2021/04/05 MySQL
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js
MongoDB日志切割的三种方式总结
2021/09/15 MongoDB
Oracle锁表解决方法的详细记录
2022/06/05 Oracle