循环控制语句嵌套在循环内,旨在改变它们的典型行为。在本主题中,我们将了解它们的工作原理以及它们的用途。
break语句用于终止任何类型的循环(即和for
循环while
)。可以说break “跳出”它所在的循环。让我们看一个小例子:
pets = ['dog', 'cat', 'parrot'] for pet in pets: print(pet) if pet == 'cat': break
我们想在最后一次迭代之前停止循环。为此,我们引入了应停止循环的条件。输出如下:
dog cat
小心你放的地方print()
。如果你把它放在循环的末尾,输出将只返回第一个值——'dog'。发生这种情况是因为break立即退出循环。
通常,break用于停止while
像这样的无限循环:
count = 0 while True: print("I am Infinite Loop") count += 1 if count == 13: break
continue运算符也很常用。如果您的条件为真,您可以停止迭代并返回到循环的开头(即跳转到循环的顶部并使用下一个值继续执行)。看下面的例子:
pets = ['dog', 'cat', 'parrot'] for pet in pets: if pet == 'dog': continue print(pet)
输出将包含除第一个值('dog')之外的所有值,因为它满足条件:
cat parrot
因此,循环只是跳过一个值并继续运行。
一个细微的差别值得一提:continue运算符应该适度使用。有时您可以通过简单地使用带有反转条件的if
语句来缩短代码:
pets = ['dog', 'cat', 'parrot'] for pet in pets: if pet != 'dog': print(pet)
在这种情况下,输出将保持不变:
cat parrot
如果循环没有遇到 break 语句,则可以使用else 子句指定循环后要执行的代码块。
pets = ['dog', 'cat', 'parrot'] for pet in pets: print(pet) else: print('We need a turtle!')
所以在循环体之后,else语句将执行:
dog cat parrot We need a turtle!
重要的是,else
当且仅当循环正常退出(不点击break)时,循环才会运行。此外,它在循环从未执行时运行(例如,while
循环的条件从一开始就为假)。考虑一个例子:
pancakes = 2 while pancakes > 0: print("I'm the happiest human being in the world!") pancakes -= 1 if pancakes == 0: print("Now I have no pancakes!") break else: print("No pancakes...")
当我们第一次运行代码时,我们会得到这个输出:
I'm the happiest human being in the world! I'm the happiest human being in the world! Now I have no pancakes!
第二次执行代码片段(当条件不满足时,pancakes = 0
)将结束另一条消息:
No pancakes...
总而言之,循环控制语句代表了一个改变循环工作方式的有用工具。break
您可以使用、continue
和运算符引入额外的条件else
。此外,它们允许您在成功执行代码后打印一条消息,跳过预先选择的一组值,甚至终止无限循环。明智地使用它们,它们会创造奇迹。