无论输入如何,都会触发if语句

时间:2018-08-08 19:11:36

标签: python python-3.x if-statement input

我正在尝试编写某种多选类游戏,但是无论输入如何,即使输入是d或D,总是会触发if语句。

这可能是一个明显的错误,但是我是编程的绝对初学者,所以我真的希望你们能帮助我指出我做错了什么。

我的代码如下:

answer = input("Do you want to do something (C) or something else (D)? [C/D]")

if answer == "c" or "C":
    print ("You typed", answer)
    time.sleep(2)
    print ("You can now do something")
    time.sleep(2)


elif answer == "d" or "D":
    print ("You typed", answer)
    time.sleep(2)
    print ("You can now do something else")
    time.sleep(2)


else:
    Exit()

2 个答案:

答案 0 :(得分:1)

answer = input("Do you want to do something (C) or something else (D)? [C/D]")

if answer == "c" or answer == "C": # Here is your mistake
    print ("You typed", answer)
    time.sleep(2)
    print ("You can now do something")
    time.sleep(2)


elif answer == "d" or answer == "D":  # also here
    print ("You typed", answer)
    time.sleep(2)
    print ("You can now do something else")
    time.sleep(2)


else:
    Exit()

答案 1 :(得分:1)

Python的工作方式不同于英语。

if answer == "c" or "C":应该是if answer == "c" or answer == "C": 对于D同样。

该问题先前已得到解答here。您可以阅读有关逻辑或here的更多信息。