有没有一种方法可以使OR条件跨越多行



在我编程的一次基于文本的冒险中,我一直在对IF语句进行编码,以允许使用多行条件,比如:

if certain_input == (
"examine bed" or "look at bed" or "look bed" or "look straw" or "inspect straw" or
"inspect bed" or "search bed" or "examine straw" or "look at straw"
):
print("this input has been fulfilled")

以这种格式工作的唯一条件是";检查床";以及";检查床";。其他列出的每个选项在使用时都会返回一个错误。我有什么东西不见了吗?

尝试将所有这些项目放在一个列表中,并使用in:

option_lst = ["examine bed", "look at bed", "look bed", "look straw", "inspect straw", "inspect bed", "search bed", "examine straw", "look at straw"]
certain_input = "look at bed"
if certain_input in option_lst:
print("this input has been fulfilled")

这使您的代码在将来更容易更改,也更优雅。

顺便说一句:

x = ("examine bed" or "look at bed" or "look bed" or "look straw" or "inspect straw" or
"inspect bed" or "search bed" or "examine straw" or "look at straw")

返回"examine bed",因为"examine bed"不是空字符串,因此类似于真理,所以您只能与"examine bed"进行比较。

最新更新