Python: purpose of “else” in while loop
本问题已经有最佳答案,请猛点这里访问。
我的问题是为什么在while循环中存在诸如"else"子句之类的东西。 例如,我的代码如下所示:
1 2 3 4 5 6 7 8 9 10 11 | 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) |
问题是,这与下面的语法有什么不同?
1 2 3 4 5 6 7 8 9 10 | 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) |
不同之处在于它如何处理循环的异常退出,例如 a
1 2 3 4 5 | while True: break else: print("not printed") print("printed") |
这同样适用于循环体内引发的异常。