for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。
alist=[]
for i in range(100):
if i<2:
continue
for j in range(2,i):
if i%j==0:
break
else:
alist.append(i)
print(alist)
输出结果:
刚看到这个代码我比较迷得就是为什么2,3还能输出,可以这样理解range()函数左闭右开,左边能取到2,右边取不到2,只有一次循环判断就一次然后结束,是正常结束循环,不是从break中跳出,”3“也是同样道理。
代码转自:https://blog.csdn.net/mianmabb/article/details/87178168