如何通过raw_input()中断while循环? python 3

时间:2018-12-19 01:23:08

标签: python-3.x loops input while-loop

我需要一些帮助来理解以下内容之间的区别。在第一个示例中,我希望当用户输入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 个答案:

答案 0 :(得分:2)

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

要了解Python对True和False的看法,请查看以下链接: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' ")