【问题标题】:Python: purpose of "else" in while loop [duplicate]Python:while循环中“else”的目的[重复]
【发布时间】:2019-04-30 07:30:51
【问题描述】:

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

【问题讨论】:

    标签: python while-loop


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-09
      相关资源
      最近更新 更多