“in”不用于检查字符串是否在变量中?

2024-10-06 17:30:58 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我是一个初学者,我真的被难住了

我试图检查某个字符串是否在作为用户输入的变量中,但是每次这样做时,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()

然而,当我给脚本例如“rope”时,它仍然会完成if语句并打印“Traveling to room5”

我做错什么了


Tags: ortopath字符串用户intest内容
1条回答
网友
1楼 · 发布于 2024-10-06 17:30:58

应该是-

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

在您的例子中,stair的计算结果为true,因此条件是短路的,并且每次的计算结果都为truestair的值为真,因为它不是零

就像我说的,在你的案例中,在“楼梯”之后的条件都没有被评估过-

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

相关问题 更多 >