python中while...else语法

今天简单说下while...else的用法,据说它是python中不常用却又经常引起误解的语法。

先看下下面的程序执行结果

count = 6
while count < 10:
    print(count)
    if count == 5:
        break
    count += 1
else:
    print('正常执行结束')

执行结果:

6
7
8
9
正常执行结束

以上break语句没有执行,下面的else语句执行了,再看下面的程序执行结果:

count = 11
while count < 10:
    print(count)
    if count == 5:
        break
    count += 1
else:
    print('正常执行结束')

执行结果:

正常执行结束

上面整个循环内的语句只执行了条件判断,最后else语句也执行了,再看下面的程序执行结果:

count = 1
while count < 10:
    print(count)
    if count == 5:
        break
    count += 1
else:
    print('正常执行结束')

执行结果:

1
2
3
4
5

以上循环语句执行了一部分,通过执行break语句退出了循环,else语句没有被执行,结果表明,else只有在循环不正常退出时才会不执行,正常循环执行结束后就会执行else语句。

再说明一点,不正常退出循环的情况包括break语句中断循环,return语句结束循环,和其他一些异常情况。即在循环内不执行break,return语句或者没有异常情况时都会执行else语句。

在python中还有for...else语句,与while...else语句同理。

猜你喜欢

转载自blog.csdn.net/luotuofeile/article/details/83933835
今日推荐