当用户说“不”时,我试图在python 3中杀死一个程序。开始数学测验:这是我使用
的代码import sys
while True:
new_item = input("> ")
if new_item == "Yes" or "yes":
break
elif new_item == "no":
sys.exit()
哪个指针不起作用?
答案 0 :(得分:2)
你的问题在这里:
if new_item == "Yes" or "yes":
你需要使用:
if new_item in ["Yes", "yes"]:
或:
if new_item == "Yes" or new_item == "yes"
您的原始代码被解析为:
if (new_item == "Yes") or "yes":
并且总是评估为True
,因为"yes"
是真值。
答案 1 :(得分:1)
if new_item == "Yes" or "yes":
此条件始终为True
。它可以表示为:
(new_item == "Yes") or ("yes")
非空字符串'yes'
始终评估为True
。
将条件更改为:
if new_item in ['Yes', 'yes']:
答案 2 :(得分:0)
您需要更改if语句,它不能正确评估。您需要使用此代码来解决您的问题:
import sys
while True:
new_item = input("> ")
if new_item == "Yes" or new_item == "yes":
break
elif new_item == "no":
sys.exit()
答案 3 :(得分:0)
怎么样?
import sys
while True:
new_item = input("> ")
new_item = new_item.lower()
#everything you wrote in input will be lowercase, no more "or" problems
if new_item.lower() == "yes":
break
elif new_item.lower() == "no":
sys.exit()