Python:while循环中“ else”的目的

时间:2018-11-28 11:42:11

标签: python while-loop

我的问题是,为什么while循环中有诸如“ else”子句之类的东西。例如,我的代码如下:

a = 100
turns = 0
while a > 0:
    if func(a, b): #Function returns boolean value
        a -= 1
        turns += 1
    else:
        a -= 2
        turns += 1
else:
    print(turns)

问题是,这与以下语法有何不同?

a = 100
turns = 0
while a > 0:
    if func(a, b): #Function returns boolean value
        a -= 1
        turns += 1
    else:
        a -= 2
        turns += 1
print(turns)

1 个答案:

答案 0 :(得分:0)

区别在于它如何处理异常退出循环,例如break

while True:
    break
else:
    print("not printed")
print("printed")

这同样适用于循环体内引发的异常。