鱼C论坛

 找回密码
 立即注册
查看: 1899|回复: 5

[已解决]看看这道题

[复制链接]
发表于 2021-4-8 22:27:53 | 显示全部楼层 |阅读模式
5鱼币
(not 1)or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)结果是4  为什么呢
最佳答案
2021-4-8 22:27:54
我觉得是因为:
首先时从左到右看
(not 1)or (0 and 1)--- [1]
(not 1) 是false所以[1]的真假只要看(0 and 1)
即[1]先返回(0 and 1) ---[2]
0 是false所以不需要判断(1) 即(0 and 1)是假
即[2]返回false
接着是false or (3 and 4)
即只要看(3 and 4)---[3]
因为3是真,所以[3]的真假只要看4
即返回4
接着看4 or ((5 and 6)...(7 and 8 and 9))
因为4 是true所以后面的都不需要再判断了,即返回4
所以最后返回4

最佳答案

查看完整内容

我觉得是因为: 首先时从左到右看 (not 1)or (0 and 1)--- [1] (not 1) 是false所以[1]的真假只要看(0 and 1) 即[1]先返回(0 and 1) ---[2] 0 是false所以不需要判断(1) 即(0 and 1)是假 即[2]返回false 接着是false or (3 and 4) 即只要看(3 and 4)---[3] 因为3是真,所以[3]的真假只要看4 即返回4 接着看4 or ((5 and 6)...(7 and 8 and 9)) 因为4 是true所以后面的都不需要再判断了,即返回4 所以最后返回4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-8 22:27:54 | 显示全部楼层    本楼为最佳答案   
我觉得是因为:
首先时从左到右看
(not 1)or (0 and 1)--- [1]
(not 1) 是false所以[1]的真假只要看(0 and 1)
即[1]先返回(0 and 1) ---[2]
0 是false所以不需要判断(1) 即(0 and 1)是假
即[2]返回false
接着是false or (3 and 4)
即只要看(3 and 4)---[3]
因为3是真,所以[3]的真假只要看4
即返回4
接着看4 or ((5 and 6)...(7 and 8 and 9))
因为4 是true所以后面的都不需要再判断了,即返回4
所以最后返回4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-8 22:40:56 | 显示全部楼层
使用二进制的与或运算,先将()里的and进行与计算结果为0 or 0 or 0 or (0100) or 0,之后进行或运算,结果为0100,换算成十进制为4
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-8 22:42:37 | 显示全部楼层
符号的运算优先级:not >  and  > or
首先 not 1,就变为
0 or(0 and 1)or(3 and 4)or(5 and 6)or(7 and 8 and 9)
然后运行and,对于and,如果没有假值,返回的是最后一个真值,如果有假值,则返回的是第一个假值
0 or 0 or 4 or 6 or 9
然后运行or,对于or,如果没有真值,返回的是最后一个假值,如果有真值,则返回的是第一个真值
0 or 4 or 6 or 9
4 or 6 or 9
4 or 9
4


望采纳
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-8 22:49:24 | 显示全部楼层
这叫 "短路逻辑" 可以百度了解。
如:
>>> 3 and 4 # and 情况下3为真,则继续判断第二个数,第二个数为真则为真。在python中直接取第二个数
值4
>>> 3 or 4 # or 情况下3为真,or的原理是只要有一个为真那就是真。所以不用看第二个数了。取3
3
>>> 0 and 3 # and 情况下0为假,and的原理是必须是二个数为真才为真。所以第一个数已是假,不用判断第二个数了。直接取0
0
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-4-9 03:12:30 From FishC Mobile | 显示全部楼层
手机打的,希望你看得明白

真1 and 真2 --> 真2
真 and 假 --> 假
假 and 真 --> 假
假1 and 假2 --> 假1

真1 or 真2 -->真1
真 or 假 --> 真
假 or 真 --> 真
假1 or 假2 --> 假2

not 真 --> False
not 假 --> True
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-16 05:11

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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