Python:while循环中“else”的目的[重复]

Posted

技术标签:

【中文标题】Python:while循环中“else”的目的[重复]【英文标题】:Python: purpose of "else" in while loop [duplicate] 【发布时间】: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)

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于Python:while循环中“else”的目的[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python中for else和while else语句学习心得

python基础5 if-else流程判断,for循环和while循环

python学习笔记(if else流程判断while循环for循环)

Python中的if else 和while else的用法

Python入门教程第56篇 循环进阶之while…else语句

Python else语句内部和外部while循环[重复]