Skip to main content
 首页 » 编程设计

Python 冒险游戏 -> 在 while 循环中选择 A 或 B 不起作用!

2025年05月04日10lexus

我正在尝试用 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'):