在Python中将if/else语句的多个OR/AND条件串在一起

在Python中将if/else语句的多个OR/AND条件串在一起,python,conditional,Python,Conditional,我是一个新手,在这里遗漏了一些非常明显的东西,但我不确定如何以正确的方式进行。我正在为家庭作业编写一个基本的文本冒险游戏,希望将多个“or”和“and”条件串在一起,而不必相互嵌套一堆if语句或创建大量条件变量。我知道一定有办法做到这一点: inventory = ['some stuff', 'more stuff'] next = raw_input('your move: ').lower() if 'this' or 'that' or 'whatever' in next and '

我是一个新手,在这里遗漏了一些非常明显的东西,但我不确定如何以正确的方式进行。我正在为家庭作业编写一个基本的文本冒险游戏,希望将多个“or”和“and”条件串在一起,而不必相互嵌套一堆if语句或创建大量条件变量。我知道一定有办法做到这一点:

inventory = ['some stuff', 'more stuff']
next = raw_input('your move: ').lower()

if 'this' or 'that' or 'whatever' in next and 'item' in inventory:
    print "Done"
elif 'this' or 'that' or 'whatever' in next and 'item' not in inventory:
    print "you dont have the item."
else:
    print "No."

我曾经尝试过为简单的条件测试创建测试程序,当我将多个“或”条件连接在一起时,一切似乎都崩溃了。当我将它们串在一起时,它总是返回“True”,即使字符串中没有任何单词。我曾尝试使用括号来分隔零件,但仍然失败。必须有一个简单的方法来做到这一点。我洗耳恭听,谢谢。

逻辑运算符
用于布尔表达式,而不是为运算符中的
提供多个参数

if (('this' in next) or ('that' in next) or ('whatever' in next)) and ('item' in inventory):

逻辑运算符
用于布尔表达式,而不是为
运算符中的
提供多个参数

if (('this' in next) or ('that' in next) or ('whatever' in next)) and ('item' in inventory):

逻辑运算符
用于布尔表达式,而不是为
运算符中的
提供多个参数

if (('this' in next) or ('that' in next) or ('whatever' in next)) and ('item' in inventory):

逻辑运算符
用于布尔表达式,而不是为
运算符中的
提供多个参数

if (('this' in next) or ('that' in next) or ('whatever' in next)) and ('item' in inventory):

对于这类问题有很多很好的解释,顺便说一句,我链接到我的问题是因为它是我最快找到的,而不是因为它一定是最好的。对于这类问题有很多很好的解释,顺便说一句,我链接到我的问题是因为它是我最快找到的,不是因为它一定是最好的。对于这类问题有很多很好的解释,顺便说一句-我链接到我的,因为它是我最快找到的,不是因为它一定是最好的。对于这类问题有很多很好的解释,顺便说一句-我链接到我的,因为它是我最快找到的,不是因为它一定是最好的。Jonathon,我理解我的布尔逻辑中的缺陷,但我想知道python中是否有一种内置的方法可以实现这一壮举,而不必像您所做的那样显式地声明每一个条件。这就是我试图避免的,我想找到优雅的解决方案。这个答案标记为的副本有一个使用any()的优雅解决方案。是的,我现在正在使用它,非常感谢。非常好的解决方案Jonathon,我理解我的布尔逻辑中的缺陷,但我想知道python中是否有一种内置的方法可以实现这一壮举,而不必像您所做的那样显式地声明每个条件。这就是我试图避免的,我想找到优雅的解决方案。这个答案标记为的副本有一个使用any()的优雅解决方案。是的,我现在正在使用它,非常感谢。非常好的解决方案Jonathon,我理解我的布尔逻辑中的缺陷,但我想知道python中是否有一种内置的方法可以实现这一壮举,而不必像您所做的那样显式地声明每个条件。这就是我试图避免的,我想找到优雅的解决方案。这个答案标记为的副本有一个使用any()的优雅解决方案。是的,我现在正在使用它,非常感谢。非常好的解决方案Jonathon,我理解我的布尔逻辑中的缺陷,但我想知道python中是否有一种内置的方法可以实现这一壮举,而不必像您所做的那样显式地声明每个条件。这就是我试图避免的,我想找到优雅的解决方案。这个答案标记为的副本有一个使用any()的优雅解决方案。是的,我现在正在使用它,非常感谢。非常好的解决方案