所以我是一个初学者,我真的很难过。
我正在尝试检查某个字符串是否在作为用户输入的变量中,但每次我这样做时,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"。
我在这里做错了什么?
答案 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