for num in range(2,101):
for i in range(2,num):
if num%i == 0:
break
else: #为什么要往前呢,不解
print num
1 回答
已采纳
艾尔森
TA贡献33条经验 获得超27个赞
这个是输出质数吧 else之所以往前是因为那个else对应的不是if 而是第二个for(fori in range(2,num))这也能体现出python对缩进的规范,少打一个tab都会报错,
for i in range(1,5): print i else: print 'Finish the loop'
上面的代码会输出
1
2
3
4
5
Finish the loop
意思也就是当for循环正常结束时就会执行else里面的内容,但是如果break了会直接跳出循环 所以else的内容就不会执行
不过如果for迭代了空序列也是可以执行else的 毕竟也是正常结束的
for i in []: print i else: print 'Finish the loop'#这句依然会被执行
添加回答
举报
0/150
提交
取消