"在"不工作检查字符串是否在变量内?

时间:2014-05-04 03:28:07

标签: python python-2.7

所以我是一个初学者,我真的很难过。

我正在尝试检查某个字符串是否在作为用户输入的变量中,但每次我这样做时,python总是确认我正在检查的内容是否在字符串内,即使它不是。任何人都可以提供一些指导。

例如:

path = raw_input(">").lower()
print path, "THIS IS PATH" #just doing this to make sure my path variable is updating

if "stair" or "way" or "rect" in path:
    print "Traveling to room5" #TEST
    room5()
elif "rope" or "pent" in path:
    print "Traveling to room1" #TEST
    room1()
else:
    print "Error, restarting room."
    room2()

然而当我给脚本举例时#34; rope"它仍将完成if语句并打印"前往room5"。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:0)

应该是 -

if "stair" in path or "way" in path or "rect" in path:

在你的情况下stair评估为真,因此条件被短路,并且每次评估为真。 stair被评估为真,因为它不为零。

就像我说的那样,"楼梯"在您的情况下甚至不评估 -

>>> if 'stair':
...   print "hey"
...
hey
>>> if 'stair' or 0:
...   print "hey"
...
hey