繁体   English   中英

break 运算符是否将 while 循环条件从 True 变为 False?

[英]Do break operators turn while loop conditions from True to False?

在 Python 中查看这个非常基本的 while 循环:

while True:
    response = input("Say something: ")
    if response == 'bye':
        break
    if response != 'bye':
        continue    

此脚本提示用户输入。 如果用户想打个招呼(或者真的只是想打个招呼),循环将不断提示用户新的响应,直到用户最终输入:“再见”。 如果答案是“再见”,则循环中断。

我对你们所有人的百万美元问题:对于一般的 while 循环,是否可以安全地说break语句将 while 条件从True变为False ,从而退出循环?

我意识到第 5 行和第 6 行确实没有必要,因为即使没有它们,循环也会像我上面描述的那样继续执行。 我添加了continue语句来演示break (将 while 条件变为 False)和 'continue'(允许 while 条件保持 True)之间的区别。

如果我需要回顾这个问题的出处或出处,我是从 Andrei Neagoie 的 Udemy 课程内容“2019 年完成 Python 开发人员”(第 4 节:第 71 讲:“While Loops 2”)中得到这个想法的。

break不会改变任何变量中的值,但它只是结束循环。 您可以通过使用另一个变量来控制循环,如下所示:

other_variable = "whatever"
while other_variable == "whatever":
    response = input("Say something: ")
    if response == 'bye':
        break
    if response != 'bye':
        continue 
print(other_variable)

与 C 语言处理breakcontinue的方式类似,Python 在到达break语句时会跳到循环范围之外,当到达continue语句时会跳回循环的测试表达式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM