前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >#PY小贴士# if 语句只能判断一个条件?

#PY小贴士# if 语句只能判断一个条件?

作者头像
Crossin先生
发布2019-12-19 23:05:41
8440
发布2019-12-19 23:05:41
举报

一个起步期的常见坑:

想用 if 语句判断多个条件,为什么这样写没效果?

代码语言:javascript
复制
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

还有人之前学过其他编程语言,所以会这么写:

代码语言:javascript
复制
if a == 1 || a == 2 || a == 3:    ...

发现语法报错,又会改成

代码语言:javascript
复制
if a == 1 | a == 2 | a == 3:    ...

这也是不对的。Python 没有 || 符号,| 是按位或操作。逻辑上的或操作就是 or

所以,老老实实地写:

代码语言:javascript
复制
if a == 1 or a == 2 or a == 3:    ...

或者:

代码语言:javascript
复制
if a in [1, 2, 3]:    ...
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Crossin的编程教室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档