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

时间:2013-12-19 07:41:25

标签: python conditional

我是一个新手并且遗漏了一些非常明显的东西,但我不确定如何以正确的方式解决这个问题。我正在为家庭作业写一个基本的文本冒险游戏,并希望将多个'或'和'和'条件串起来,而不必在彼此中嵌套一堆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”,即使字符串中没有任何单词。我尝试使用括号括号来隔离部件,但它仍然失败。必须有一个简单的方法来做到这一点。我很满意,谢谢你。

1 个答案:

答案 0 :(得分:3)

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

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