首页 > 解决方案 > “如果在”和“如果或如果在”之间的区别;寻找解释

问题描述

如果我写“if X or y in var”与写“if x in var or if y in var”会得到不同的结果。 这是为什么?我在任何地方都找不到关于此的任何文档。

如果使用以下 Python3 代码输入“rrrr”,我会得到“whoohoo”而不是“WTF”。只有当我删除选择中的代码“elif“read”或“road”:print(“whoohoo”),我才会得到“WTF”。任何人都可以告诉我我对两者之间的区别所缺少的东西吗?正如我所说,我在网上进行了广泛的搜索,但找不到任何东西。我希望他们都返回相同的东西,但他们没有。

var = "read", "road"
print(var)
print("what is your choice?")

choice = input("> ")

if "raed"  in choice or "raad" in choice:
    print('Not Good')

elif "read" or "road" in choice:
    print("whoohoo")

elif "read" in choice or "road" in choice:
    print("excellent")

else:
    print("WTF")

标签: pythonpython-3.xif-statement

解决方案


这将检查是否x有分配给它的真实值(即非空),否则,是否var包含y

if x or y in var

这将检查是否var包含 的值x,否则,是否var包含y

if x in var or if y in var

推荐阅读