我正在尝试用 Python 创建一个简单的冒险游戏。我已经到了需要询问用户是否希望选择选项 A 或 B 的地步,并且我正在使用 while 循环来尝试执行此操作:
AB = input("A or B?")
while AB != "A" or "a" or "B" or "b":
input("Choose either A or B")
if AB == "A" or "a":
print("A")
elif AB == "B" or "b":
print("B")
问题是,无论您输入什么,都会出现“选择 A 或 B”的问题。我做错了什么?
请您参考如下方法:
您的 while 语句正在根据条件 or 进行评估,这对于您提供的字符串始终为真。
while AB != "A" or "a" or "B" or "b":
意思是:
while (AB != "A") or "a" or "B" or "b":
非空字符串总是 True,所以写 或 "B" 总是 true,并且总是要求输入。最好写:
while AB.lower() not in ('a','b'):
