我是一个新手并且遗漏了一些非常明显的东西,但我不确定如何以正确的方式解决这个问题。我正在为家庭作业写一个基本的文本冒险游戏,并希望将多个'或'和'和'条件串起来,而不必在彼此中嵌套一堆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”,即使字符串中没有任何单词。我尝试使用括号括号来隔离部件,但它仍然失败。必须有一个简单的方法来做到这一点。我很满意,谢谢你。
答案 0 :(得分:3)
逻辑运算符or
,and
用于布尔表达式,而不是为in
运算符提供多个参数。
if (('this' in next) or ('that' in next) or ('whatever' in next)) and ('item' in inventory):