Python:while循环中"else"的作用

22 浏览
0 Comments

Python:while循环中"else"的作用

这个问题已经有了相关的答案

Python while循环中的else子句

我的问题是,为什么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)

admin 更改状态以发布 2023年5月21日
0
0 Comments

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

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

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

0