Python中的for循环控制语句-常见误区
来源:互联网 发布:网页php的编程代码大全 编辑:程序博客网 时间:2024/05/16 13:42
#第一个:求 50 - 100 之间的质数
import mathfor 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的位置与if处于同一缩进。
import mathfor 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 mathfor 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
idea
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.
- Python中的for循环控制语句-常见误区
- 关于Python中的for循环控制语句
- 关于Python中的for循环控制语句
- 关于Python中的for循环控制语句
- 关于Python中的for循环控制语句
- 关于Python中的for循环控制语句
- python循环控制语句(for)
- for循环控制语句
- Python for 循环语句
- Python--for 循环语句
- Python for 循环语句
- Python for 循环语句
- Python for 循环语句
- python学习小结1:for循环控制语句
- Python中的循环语句
- Python中的循环语句
- python中的循环语句
- python中的for循环
- 【Nginx-反向代理服务器】实践篇(三)之Tomcat+Nginx搭建集群
- Spark MLlib(上)--机器学习及SparkMLlib简介
- 阿里巴巴代码规范
- PD4ML Cookbook Getting Started(1)
- 合并排序问题
- Python中的for循环控制语句-常见误区
- [bzoj-1607][Usaco2008 Dec]Patting Heads 轻拍牛头 题解
- SAP关于smartforms报表
- 实现String工具类(动态参数)
- ue4 动画相关方法杂记
- 要执行请求的操作,WordPress需要访问您网页服务器的权限问题
- 集合最大元问题
- mysql数据库优化之索引优化
- Spark MLlib(下)--机器学习库SparkMLlib实战