找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1528|回复: 3

[讨论] 小小问题,求解

0

主题

0

帖子

0

积分

贫民

积分
0
a1074767060 发表于 2021-9-9 17:44:19 | 显示全部楼层 |阅读模式
为什么python的if判断,三个变量都为0,为什么走到了else分支呢


判断代码

判断代码
回复

使用道具 举报

0

主题

102

帖子

102

积分

侠客

积分
102
傻眼貓咪 发表于 2021-9-10 20:26:12 | 显示全部楼层
初學者常犯的錯誤,千萬不能少寫判斷語句啊!(不要把程序語言當人類語言看,程序語言是給電腦看的)
  1. a = 0
  2. b = 0
  3. c = 0

  4. # -------------- 你的代碼(錯) --------------
  5. if a and b and c == 0:
  6.     print("pass")
  7. else:
  8.     print("fail")

  9. # -------------- 正確寫法如下 --------------
  10. if a == 0 and b == 0 and c == 0:
  11.     print("pass")
  12. else:
  13.     print("fail")
复制代码
  1. fail
  2. pass
复制代码
回复 支持 反对

使用道具 举报

0

主题

14

帖子

14

积分

贫民

积分
14
wjb986555360 发表于 2021-9-18 23:33:29 | 显示全部楼层
我理解 if a and b and c == 0: 的含义是默认if a==1 and b==1 and c == 0:而不是if a==0 and b==0 and c == 0:
回复 支持 反对

使用道具 举报

1

主题

3

帖子

3

积分

贫民

积分
3
头秃的人 发表于 2021-9-21 18:48:05 | 显示全部楼层
应为:
  1. if a == 0 and b == 0 and c == 0:
  2.     #do something
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表