热线电话:13121318867

登录
2018-11-26 阅读量: 961
循环中的 else 子句

通常,在循环中使用break是因为你“发现”了什么或“出现”了什么情况。要在循环提前 结束时采取某种措施很容易,但有时候你可能想在循环正常结束时才采取某种措施。如何判断循 环是提前结束还是正常结束的呢?可在循环开始前定义一个布尔变量并将其设置为False,再在跳 出循环时将其设置为True。这样就可在循环后面使用一条if语句来判断循环是否是提前结束的。

broke_out = False

for x in seq:

do_something(x)

if condition(x):

broke_out = True

break

do_something_else(x)

if not broke_out:

print("I didn't break out!")

一种更简单的办法是在循环中添加一条else子句,它仅在没有调用break时才执行。继续前 面讨论break时的示例。

from math import sqrt for n in range(99, 81, -1):

root = sqrt(n)

if root == int(root):

print(n)

break

else:

print("Didn't find it!")

请注意,为测试else子句,我将下限改成了81(不包含)。如果你运行这个程序,它将打印 "Didn't find it!",因为正如你在前面讨论break时看到的,小于100的大平方值为81。无论是 在for循环还是while循环中,都可使用continue、break和else子句。

0.0000
5
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子