我希望能够做到这样的事情,输入1," D"或"狗"将全部调用do_something()
,而任何其他输入将调用do_something_else()
。
command = input("Type a command")
if command == (1 or "D" or "dog"):
do_something()
else:
do_something_else()
目前,这不起作用,因为Python正在评估(1 or "D" or "dog")
的真实性,当然总是True
。然后,由于command
也是一个真正的字符串,因此将始终调用do_something
。
我知道如何做到这一点: if command == 1 or command = "D" or command = "dog"
。这很好用;然而,它涉及很多重复,我确信必须有一些方法来缩短它。
我想我也可以列出有效的命令valid_commands = [1,"D","dog"]
并检查if command in valid_commands
,但这似乎是一种解决方法,而不是理想的方法。
答案 0 :(得分:1)
您应该使用in
运算符:
command = input("Type a command")
if command in ["1","D","dog"]:
do_something()
else:
do_something_else()