在用户键入其中一个后,我希望这段代码向我显示这两个answears中的一个,但是在我键入yes或no之后,我什么也没有得到回报??
while True:
answear = input("text to be added")
if answear in ["yes", "no", "Yes", "No"]:
break
if answear == ["yes", "Yes"]:
print("answear 1")
elif answear == ["no", "No"]:
print("answear 2")
谢谢
答案 0 :(得分:1)
您正在将字符串与列表["yes","Yes"]
进行比较,该列表将始终评估为false,并且由于您未指定else
条件,因此您不会得到任何输出。
您可以使用in
一词来解决此问题,该词可用于评估列表中的各个元素:
if answear in ["yes", "Yes"]:
print("answear 1")
elif answear in ["no", "No"]:
print("answear 2")
答案 1 :(得分:-1)
In [61]: while True:
...: answear = input("text to be added")
...:
...: if answear.lower() in ["yes", "no"]:
...: break
...:
...: if answear.lower() == "yes":
...: print("answear 1")
...:
...: elif answear.lower() == "no":
...: print("answear 2")
一个更好的方法是将answear转换为小写并检查
答案 2 :(得分:-2)
while循环后,您需要检查
if answear in ["Yes","yes"]:
print('answer 1')
而不是检查是否相等answear == ["Yes", "yes"]
。