如何通过 raw_input() 打破 while 循环?蟒蛇 3

Posted

技术标签:

【中文标题】如何通过 raw_input() 打破 while 循环?蟒蛇 3【英文标题】:how do I break while loop by raw_input()? python 3 【发布时间】:2019-05-19 11:31:28 【问题描述】:

我需要一些帮助来理解以下内容之间的区别。在第一个示例中,我希望当用户输入 False 时循环中断:

true = True

while true:
    print("Not broken")
    true = input("to break loop enter 'False' ")

有一个问题被问到: how do I break infinite while loop with user input

这给出了这个解决方案:

true= True

while true:
    print("Not broken")
    true = input("to break loop enter 'n' ")
    if true == "n":
        break
    else:
        continue

我不明白为什么第一种方法不起作用而第二种方法起作用???为什么 python 不接受输入,就好像有人在更改脚本并更改变量“true”一样?幕后发生了什么?

任何帮助将不胜感激。在此先感谢:)

【问题讨论】:

【参考方案1】:

while 语句是有条件的,输入字符串“False”的用户仍将解析为 True 结果。

要了解 Python 认为什么是真假,请查看此链接:https://realpython.com/python-conditional-statements/

基于这个答案Converting from a string to boolean in Python?,最好的检查方法是:

true = True

while true is not 'False':
    print("Not broken")
    true = input("to break loop enter 'False' ")

【讨论】:

以上是关于如何通过 raw_input() 打破 while 循环?蟒蛇 3的主要内容,如果未能解决你的问题,请参考以下文章

如何在python的内部for循环中打破while循环?

Java如何在switch语句下打破while循环?

我将如何在 python 的 while 循环中打破一个函数? [复制]

如何在 Python 中跳出 while 循环?

在 PHP 中打破多个函数(短路)

使用函数打破while循环