鱼C论坛

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

[已解决]关于and和or的问题

[复制链接]
发表于 2017-8-8 02:51:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
我知道 and如果有一个是false就直接给false,可是就写3 and 4 都是正确的时候为什么给我返回的值是4不是3?
还有or为什么 3 or 4是给我3不是4啊?
最佳答案
2017-8-8 08:17:57
这是一种短路逻辑,
1)如表达式 x and y:
只有x,y同时围着嫩时,结果才为真,而当x为假时,就不考虑之后的y值了。对python来说,若x为假,表达式会返回 x 的值(0),否则它就会返回 y 的值
2)表达式 x or y:
只要第一个x为真,就不考虑y的值了,对于python来说,若x为真,表达式会返回 x 的值,否则它就会返回 y 的值举例:
>>> 0 and 1
0
>>> 1 and 2
2
>>> 2 and 1
1
>>> 0 and 2
0
>>> 2 and 0
0
>>> 1 or 2
1
>>> 0 or 2
2
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-8-8 08:17:57 | 显示全部楼层    本楼为最佳答案   
这是一种短路逻辑,
1)如表达式 x and y:
只有x,y同时围着嫩时,结果才为真,而当x为假时,就不考虑之后的y值了。对python来说,若x为假,表达式会返回 x 的值(0),否则它就会返回 y 的值
2)表达式 x or y:
只要第一个x为真,就不考虑y的值了,对于python来说,若x为真,表达式会返回 x 的值,否则它就会返回 y 的值举例:
>>> 0 and 1
0
>>> 1 and 2
2
>>> 2 and 1
1
>>> 0 and 2
0
>>> 2 and 0
0
>>> 1 or 2
1
>>> 0 or 2
2
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-8 08:51:16 | 显示全部楼层
亭ting 发表于 2017-8-8 08:17
这是一种短路逻辑,
1)如表达式 x and y:
只有x,y同时围着嫩时,结果才为真,而当x为假时,就不考虑之后 ...

不好意思啊,我比较笨,还是没搞明白为什么3and4会给4 然后4and3会给我3。
我明白and是要两边同时为真才会给你显示真,一方是假的话就返回false,
or是一边为真就是真,同时为假才是假。

0 and 1,因为0=false,1=true,所以会回我0(false),可是为什么3 and 4,两边为真的时候回我的是4 (and右边的),4 and 3给我的就是 3(也是and右边的)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-8 08:55:20 | 显示全部楼层
muffinlike 发表于 2017-8-8 08:51
不好意思啊,我比较笨,还是没搞明白为什么3and4会给4 然后4and3会给我3。
我明白and是要两边同时为真才 ...

这是规定,至于为什么会有这规定我也不了解,有些东西不需要专研太深,我们只需要会用捕鱼机器捕鱼就行,没必要研究捕鱼机器怎么来的吧。你可以问问小甲鱼权威,看看他怎么解释
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-8 09:02:31 | 显示全部楼层
亭ting 发表于 2017-8-8 08:55
这是规定,至于为什么会有这规定我也不了解,有些东西不需要专研太深,我们只需要会用捕鱼机器捕鱼就行, ...

那就是如果为真的时候就会返回and右边的值,那我就知道啦。谢谢啊
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-8 09:16:00 | 显示全部楼层
muffinlike 发表于 2017-8-8 09:02
那就是如果为真的时候就会返回and右边的值,那我就知道啦。谢谢啊

没事,我也是记死的结论,没有探讨本质,
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-1 08:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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