为了账号安全,请及时绑定邮箱和手机立即绑定

对else的格式不理解,为什么不是和if对齐呢 求教求教

对else的格式不理解,为什么不是和if对齐呢 求教求教

慕粉1424266921 2017-01-20 18:37:09
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'#这句依然会被执行


查看完整回答
3 反对 回复 2017-01-21
  • 1 回答
  • 0 关注
  • 2662 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信