快捷导航

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

for num in range(2,101):    for i in range(2,num):        if num%i == 0:            break    else:         #为什么要往前呢,不解        print num

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

这个是输出质数吧 else之所以往前是因为那个else对应的不是if 而是第二个for(fori in range(2,num))这也能体现出python对缩进的规范,少打一个tab都会报错,
foriinrange(1,5):printielse:print'Finishtheloop'上面的代码会输出

1
2
3
4
5
Finish the loop意思也就是当for循环正常结束时就会执行else里面的内容,但是如果break了会直接跳出循环 所以else的内容就不会执行
不过如果for迭代了空序列也是可以执行else的 毕竟也是正常结束的
foriin[]:printielse:print'Finishtheloop'#这句依然会被执行
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP