石乙创 发表于 2021-3-14 17:08:56

运算符的问题

(not 1)or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)的结果是多少?怎么理解这一题

洋洋痒 发表于 2021-3-14 17:12:43

结果是1
有括号先算括号里的,没有括号优先级顺序not>and>or

先算括号里结果是 0 or 0 or 1 or 1 or 1
or预算遇到1就结束了结果是1

柿子饼同学 发表于 2021-3-14 17:53:45

洋洋痒 发表于 2021-3-14 17:12
结果是1
有括号先算括号里的,没有括号优先级顺序not>and>or



明明是4啊>>> (not 1)or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)
4
>>>

柿子饼同学 发表于 2021-3-14 18:02:53

除了楼上所说,我们还要明白短路逻辑
比如or其中不是一个结果为真就行了嘛,它就返回那个最关键的东西{:10_321:}
>>> 1 or 2    #第一个数为真,所以不需要再算,直接返回第一个数
1
>>> 0 or 1    #第一个数为假,但还没完,再看第二个,哦是真,那没事了,返回第二个数
1
>>> 0 or False
False
>>> #这你明白了吧
那and就是这样{:10_321:}
>>> 0 and 1   #第一个就是假,那还谈什么,直接返回第一个数
0
>>> 1 and 2   #这个第一个判断不出结果,返回第2个数
2
希望有所帮助{:10_256:}

洋洋痒 发表于 2021-3-14 18:13:19

柿子饼同学 发表于 2021-3-14 17:53
明明是4啊

{:10_285:}用错知识点了
页: [1]
查看完整版本: 运算符的问题