python for循环是我们经常使用的一种循环方式,但是与普通if判断不同的是,for循环里有一个特殊的else子句,即循环时没有遇到break,则else会输出(while也是这样)
拿实际应用,求一百以内的质数来举例
质数我们都知道是除了它本身和1之外没有其他因子,所以这里我们可以用for / else 搭配 if / break来做,中心思想就是只要这个数里有一个非自身非1的因子就break中断循环,而该数也不会出现在else子句里
# 求一百以内的质数
# 建立空数组
pn = []
for i in range(100):
if i <= 1:
continue
else :
# 有非1非本身因子即中断循环
for j in range(2,i):
if i % j == 0:
break
else:
pn.append(i)
print(pn)
结果为
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]