Tyao 发表于 2018-3-6 19:22:13

求问not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9为什么等于4?

not 1 输出是 false呀:

>>> not 1
False

(not 1)or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9):
false or 0输出就是错误了呀
为什么最后结果还能是4{:5_96:}

ba21 发表于 2018-3-6 19:36:51

非0 就是真。
4 就是表示真咯。

°蓝鲤歌蓝 发表于 2018-3-6 19:38:33

>>>not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
>>>False or 0 or 4 or 6 or 9
>>>4

优先级:not > and > or

塔利班 发表于 2018-3-6 21:29:40

and计算到最后一个数,都非零返回最右,
or从左计算到第一个不为0的数返回

BngThea 发表于 2018-3-6 22:09:51

因为
1or如果左端为真,那么结果就为左端值,并且右边不管了,比如2 or 8结果为2
2 or如果左端为False那么才看右端
3 and如果两边都为真那么取右边的值

你自己已经标好括号了,结果就是第三个or左端为真,所以取这个值

Charles未晞 发表于 2018-3-6 23:17:55

看到可爱的头像我决定回答一波。。。
你先看下图。。。
不懂再追问

sixchord 发表于 2018-3-7 00:47:45

两边都不是0的情况下
and 直接取后面的值 or 直接取前面的值
如果存在0的情况
and 直接取0 or 直接取非0
false是 0 。。
所以 0 or 0 or 4 or 6 or 9 第一个不为0的是 4 所以是4
0 or 0是 0
但 0 or 0 or 4就是 4了{:10_266:}

Tyao 发表于 2018-3-7 10:33:24

ba21 发表于 2018-3-6 19:36
非0 就是真。
4 就是表示真咯。

谢谢回答,受益匪浅~

Tyao 发表于 2018-3-7 10:34:06

Charles未晞 发表于 2018-3-6 23:17
看到可爱的头像我决定回答一波。。。
你先看下图。。。
不懂再追问

谢谢回答,受益匪浅~{:5_91:}

Tyao 发表于 2018-3-7 10:35:04

BngThea 发表于 2018-3-6 22:09
因为
1or如果左端为真,那么结果就为左端值,并且右边不管了,比如2 or 8结果为2
2 or如果左端为False ...

谢谢回答,受益匪浅~

Tyao 发表于 2018-3-7 10:35:43

Charles未晞 发表于 2018-3-6 23:17
看到可爱的头像我决定回答一波。。。
你先看下图。。。
不懂再追问

谢谢大神~~~~{:5_91:}

bkdog想跳槽 发表于 2019-9-18 22:55:04

1 and如果左边为False那么取左边False,右边不执行   一假为假
2 and如果左边为真,那么执行右边,取右边的值         真真为真真假为假
3  or 如果左端为True,那么去左边True,右边不执行   一真为真
4 or如果左端为False,那么执行右边,取右边的值      假假为假   假真为真

奋斗者4 发表于 2020-11-19 09:12:59

sixchord 发表于 2018-3-7 00:47
两边都不是0的情况下
and 直接取后面的值 or 直接取前面的值
如果存在0的情况


回答详细易懂,谢谢!

RachelH7 发表于 2023-1-3 17:11:38

sixchord 发表于 2018-3-7 00:47
两边都不是0的情况下
and 直接取后面的值 or 直接取前面的值
如果存在0的情况


原来如此……2333

yg飞许 发表于 2023-1-5 17:02:45

本帖最后由 yg飞许 于 2023-1-5 17:12 编辑

bool值是假的就几种情况,各各类型的空[] {} () ''、0、False、None

and                            or
真 and 真 = 真(右)       真 or 真 = 真(左)
真 and 假 = 假             真 or 假 = 真
假 and 真 = 假             假 or 真 = 真
假 and 假 = 假(左)       假 or 假 = 假(右)


True 和 False 分别用 1 和 0 来代替
4 or 6 ot 9    因为: 3 and 4 == 4,而 3 or 4 == 3
故为 4

Wander... 发表于 2023-5-8 21:23:52

短路逻辑
页: [1]
查看完整版本: 求问not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9为什么等于4?