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定时器使用示例分享
Feb 16 Python
python爬虫入门教程之糗百图片爬虫代码分享
Sep 02 Python
Python脚本实现集群检测和管理功能
Mar 06 Python
深入浅析python中的多进程、多线程、协程
Jun 22 Python
Python彩色化Linux的命令行终端界面的代码实例分享
Jul 02 Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
Django实现自定义404,500页面教程
Mar 26 Python
python opencv设置摄像头分辨率以及各个参数的方法
Apr 02 Python
python实现月食效果实例代码
Jun 18 Python
pycharm第三方库安装失败的问题及解决经验分享
May 09 Python
关于Python3的import问题(pycharm可以运行命令行import错误)
Nov 18 Python
Python编程编写完善的命令行工具
Sep 15 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编程中字符串处理的5个技巧小结
2007/11/13 PHP
输入值/表单提交参数过滤有效防止sql注入的方法
2013/12/25 PHP
PHP检测字符串是否为UTF8编码的常用方法
2014/11/21 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
phpcms中的评论样式修改方法
2016/10/21 PHP
游戏人文件夹程序 ver 4.03
2006/07/14 Javascript
Jquery CheckBox全选方法代码附js checkbox全选反选代码
2010/06/09 Javascript
jQuery Autocomplete自动完成插件
2010/07/17 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
2011/03/12 Javascript
JS重要知识点小结
2011/11/06 Javascript
js sort 二维数组排序的用法小结
2014/01/24 Javascript
jQuery操作元素css样式的三种方法
2014/06/04 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
利用Query+bootstrap和js两种方式实现日期选择器
2017/01/10 Javascript
Angular.js实现动态加载组件详解
2017/05/28 Javascript
VS Code转换大小写、修改选中文字或代码颜色的方法
2017/12/15 Javascript
结合Vue控制字符和字节的显示个数的示例
2018/05/17 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
解决Vue2.0 watch对象属性变化监听不到的问题
2018/09/11 Javascript
优雅的使用javascript递归画一棵结构树示例代码
2019/09/22 Javascript
Python升级导致yum、pip报错的解决方法
2017/09/06 Python
深入浅析python with语句简介
2018/04/11 Python
详解Django之auth模块(用户认证)
2018/04/17 Python
Python实现端口检测的方法
2018/07/24 Python
python实现简单登陆系统
2018/10/18 Python
浅谈Pandas Series 和 Numpy array中的相同点
2019/06/28 Python
Python 多个图同时在不同窗口显示的实现方法
2019/07/07 Python
python pandas移动窗口函数rolling的用法
2020/02/29 Python
python如何获得list或numpy数组中最大元素对应的索引
2020/11/16 Python
凯伦·米莲女装网上商店:Karen Millen
2017/11/07 全球购物
2016大学自主招生推荐信范文
2015/03/23 职场文书
故意杀人案辩护词
2015/05/21 职场文书
2015年暑期社会实践报告
2015/07/13 职场文书
扩展多台相同的Web服务器
2021/04/01 Servers
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电