一个起步期的常见坑:
想用 if 语句判断多个条件,为什么这样写没效果?
if a == 1 or 2 or 3: ...
可能是觉得写 a == 1 or a == 2 or a == 3 太长了,见过不少人在一开始都会尝试这样“简写”。
可惜 or 的运算规则不是这样的。
在 Python 里,非零的数字转成 bool 值相当于 True,所以这个判断式子就相当于 a == 1 or True or True
这个式子无论 a 是多少,最后结果都是 True。
还有人之前学过其他编程语言,所以会这么写:
if a == 1 || a == 2 || a == 3: ...
发现语法报错,又会改成
if a == 1 | a == 2 | a == 3: ...
这也是不对的。Python 没有 || 符号,| 是按位或操作。逻辑上的或操作就是 or 。
所以,老老实实地写:
if a == 1 or a == 2 or a == 3: ...
或者:
if a in [1, 2, 3]: ...
本文分享自 Crossin的编程教室 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!