关于吃喝玩乐的网站建设策划,自己做网站传视屏,wordpress注册系统,网站seo优化方案策划书用来练手的python练习题#xff0c;原题链接: python练习实例36
题干: 求100之内的素数
求某个范围内的素数#xff0c;和之前的一个例题其实是一样的#xff0c;上次的同类例题链接如下: python练习实例12
在实现题目要求时#xff0c;这次用了for else语句#xff0c…用来练手的python练习题原题链接: python练习实例36
题干: 求100之内的素数
求某个范围内的素数和之前的一个例题其实是一样的上次的同类例题链接如下: python练习实例12
在实现题目要求时这次用了for else语句发现更加简便可以省去一部分的条件语句。 源代码如下:
import numpy as np
from math import sqrt
bound np.arange(2,101,1)
result np.array([],dtypeint)
for k in bound:if k 1: for i in range(2,int(sqrt(k))1):# 如果k存在不是1或k本身的因数i则k不是素数if k%i 0:breakelse: result np.append(result, k)
print(result)输出结果如下: if else语句是比较常见的条件语句但其实for else语句也是非常实用的。下面给出for else语句的基本测试:
第一种情况在for循环中的条件语句当条件满足时break。
for i in range(10):if i 7:print(aaa)break
else:print(okok)输出结果如下: 我们发现当循环中出现了满足条件语句的情况循环break会直接跳出且不会执行else语句中的命令。
那么如果循环中的所有情况都不满足条件语句循环break之后会执行else语句中的命令如下:
for i in range(10):if i 11:print(aaa)# 其实这里有没有break是一样的因为这个条件语句总是false因此循环语句总是能完全遍历。break
else:print(okok)在上述代码中我们知道循环中的所有情况都不会满足if条件语句的条件因此循环跳出后会执行else语句中的print指令输出结果如下: 实际我们发现当循环中不触发break跳出循环在循环全部完成后总会执行else中的命令如下:
for i in range(10):print(haohaohao)
else:print(okok)输出结果如下: 总结: 当我们使用for else 语句时如果循环完全遍历没有通过break跳出那么在循环结束后就会执行else语句中的命令。反之如果在循环的过程中经由break跳出了循环那么else语句就不会再执行了。因此for else语句非常适合存在性问题例如在找素数的过程中如果这个数存在除了1和它本身的因数则跳出循环这个数不是素数。反之如果不存在除了1和它本身的因数那么就调用else语句这个数是一个素数。