python - “如果在”和“如果或如果在”之间的区别;寻找解释
问题描述
如果我写“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")
解决方案
这将检查是否x
有分配给它的真实值(即非空),否则,是否var
包含y
if x or y in var
这将检查是否var
包含 的值x
,否则,是否var
包含y
if x in var or if y in var
推荐阅读
- javascript - 将 @Output() 与动态添加的组件一起使用
- azure - Azure SQL Server 数据库
- python - 在两个 python 环境中使用 pyinstaller
- mysql - 如何在 Windows 中为每个文件安排一个表的 MySQL 数据库备份?
- java - 如何在EditTextView上使可见和不可见的Drawable Left?
- javascript - ExpressJS 中间件不工作
- ios - 如果 bar 值为 0.0,如何隐藏 markerView。在使用 iOS 图表的条形图中
- joomla3.0 - 未定义的属性:第 92 行 C:\..\..\Joomla\administrator\components\com_helloworld\views\helloworlds\tmpl\default.php 中的 stdClass::$contactno
- javascript - ExpressJS 路由无法解析
- php - 检查页面后如何在实际的 PHP 文件中找到代码?