我需要一些帮助来理解以下内容之间的区别。在第一个示例中,我希望当用户输入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”那样接受输入?幕后发生了什么?
任何帮助将不胜感激。在此先感谢:)
答案 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' ")