for else语法、try ….except….else语法 和 while….else语法

这三种语句都是差不多的。都是前面的内容是正常执行完成的就会执行else语句,如果是非正常,比如:执行失败,或者break跳出,那么都是不会执行else语句的!

1.for … else

如果for循环是正常执行完的话都会执行else

如果for循环是通过break跳出的 那后面的else就不会执行了

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)

输出结果:

图片[1] - for else语法、try ….except….else语法 和 while….else语法 - 三酷猫

刚看到这个代码我比较迷得就是为什么2,3还能输出,可以这样理解range()函数左闭右开,左边能取到2,右边取不到2,只有一次循环判断就一次然后结束,是正常结束循环,不是从break中跳出,”3“也是同样道理。

2.try ….except….else

图片[2] - for else语法、try ….except….else语法 和 while….else语法 - 三酷猫

3.while….else

count = 0
while count <= 5 :
    count += 1
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------")

Loop 1
Loop 2
Loop 3
Loop 4
Loop 5
Loop 6
循环正常执行完啦
—–out of while loop ——

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享