jcpython2 发表于 2022-9-6 16:54:40

比较运算符疑问,是有True就优先输出True吗?

本帖最后由 jcpython2 于 2022-9-6 17:04 编辑

print( 3 < 4 or 4 > 5 and 1 >2)

True

上面我的理解是 优先运算and部分 得出 Flase,然后到3 < 4得出True,再到True or False
输出True

因为我根据 print(True or False) 输出True




print((3 < 4 or 4 > 5) and 1 > 2)

False


但上面输出false,我的想法是 or 得出True(按照我第一段代码的想法有True就先输出True) ,1 > 2得出False 那么整条代码应该输出 True,结果是false

请问哪里理解错了???

dolly_yos2 发表于 2022-9-6 17:07:40

您认为
print(True and False)
应该得到什么结果?
(3 < 4 or 4 > 5) and 1 > 2
应该以什么顺序进行计算?

jcpython2 发表于 2022-9-6 17:09:51

已解决,自己犯最基础错误,做得有点昏

and 同时满足

or 任意满足

jcpython2 发表于 2022-9-6 17:11:34

dolly_yos2 发表于 2022-9-6 17:07
您认为

应该得到什么结果?


嗯,老哥我明白了,我翻了最低级的错误,有点昏

and 同时满足

or 任意满足

我这么想没错吧

dolly_yos2 发表于 2022-9-6 17:15:15

jcpython2 发表于 2022-9-6 17:11
嗯,老哥我明白了,我翻了最低级的错误,有点昏

and 同时满足


正确的
一时脑子转不过来还是很正常的,有时候陷得越深想的越久反而越想不明白。可能这也是小黄鸭调试法的意义之一吧
页: [1]
查看完整版本: 比较运算符疑问,是有True就优先输出True吗?