not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
4. 请用最快速度说出答案:not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9如果你的回答是 0,那么小甲鱼很开心你中招了!
答案是:4
not or and 的优先级是不同的:not > and > or
我们按照优先级给它们加上括号:(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 4
为啥是 4?
解释都说出来了,你要是没明白,一定是没认真听讲 not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
== (not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
== 0 or 0 or 4 or 6 or 9
== 0 or 4 or 6 or 9
== 4 or 6 or 9
== 4 or 9
== 4如果说 or 的第一个操作数为真,返回第一个操作数,否则返回第二个 满意请选最佳哦~{:10_297:} 本帖最后由 sunrise085 于 2020-5-7 13:24 编辑
Python细节之4、逻辑运算符(and、or、not)
上面是我之前总结的帖子,希望能帮助到你
优先级:not>and>or
一句话总结逻辑运算操作符:先进行优先级划分,然后从左向右开始运算,运算过程中会有短路逻辑判断,返回值是最后一步运算所得到的值。
先根据优先级分段:(not 1 )or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
分了五段
从左向右开始运算
not 1 结果为0,
or的第一部分为False,继续运算
0 and 1,先看到0,不在计算1,结果为0,
or的第二部分为False,继续运算
3 and 4,先看到3,继续判断4,结果为4,
or的第三部分为True,短路后面的运算
最终结果为4 永恒的蓝色梦想 发表于 2020-5-7 13:11
如果说 or 的第一个操作数为真,返回第一个操作数,否则返回第二个
这样我理解了,谢谢 qiuyouzhi 发表于 2020-5-7 13:09
解释都说出来了,你要是没明白,一定是没认真听讲
好的,我会多留心学习的,谢谢 sunrise085 发表于 2020-5-7 13:21
Python细节之4、逻辑运算符(and、or、not)
上面是我之前总结的帖子,希望能帮助到你
优先级:not>and>o ...
理解了,谢谢
页:
[1]