鱼C论坛

 找回密码
 立即注册
查看: 2281|回复: 18

[已解决]关于and,or数字与数字对比的原理

[复制链接]
发表于 2022-2-21 18:33:19 | 显示全部楼层 |阅读模式

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

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

x
请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1,得出的就是1;
                Ture or 1,得出我的就是Ture;
                False and 1,得出的就是False;
                False or 1,得出的就是1.
最佳答案
2022-2-21 19:54:09
1171527218 发表于 2022-2-21 19:52
那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个 ...


对的,and语句的值,只要左边为假就是左边的值,否则就是右边的值,
             or语句的值,只要左边为真就是左边的值,否则就是右边的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-21 18:46:56 From FishC Mobile | 显示全部楼层
本帖最后由 wp231957 于 2022-2-21 18:50 编辑

请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1,得出的就是1;
                Ture or 1,得出我的就是Ture;
                False and 1,得出的就是False;
                False or 1,得出的就是1.

比如 1  and   2  因为1是真值,所以还要看2是否真值,因为2也是真值,所以表达式值是2
比如false  or  1  因为false是假值,所以还要看后面的,后面的1是真值,所以表达式值是1
其余类同
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 18:48:45 | 显示全部楼层
wp231957 发表于 2022-2-21 18:46
请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1 ...

false是假值,要看后面的吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 18:49:54 From FishC Mobile | 显示全部楼层
ckblt 发表于 2022-2-21 18:48
false是假值,要看后面的吧

整差了,手机发贴就是不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 18:51:51 | 显示全部楼层
wp231957 发表于 2022-2-21 18:46
请问为什么1 and 2,得出的就是2;
                1 or 2,得出的就是1;
                Ture and 1 ...

能麻烦说的详细一点吗?我还是不明白。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 18:54:35 From FishC Mobile | 显示全部楼层
本帖最后由 wp231957 于 2022-2-21 18:57 编辑
1171527218 发表于 2022-2-21 18:51
能麻烦说的详细一点吗?我还是不明白。。。


1 and 2,得出的就是2;表达式值是真,所以看后
                1 or 2,得出的就是1;表达式值为真,所以看前面
                Ture and 1,得出的就是1;表达式值为真,所以看后面
                Ture or 1,得出我的就是Ture;表达式值为真,所以看前面
                False and 1,得出的就是False;表达式值为假,所以看前面
                False or 1,得出的就是1.表达式值为真,所以看????这个需要验证
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 18:55:34 | 显示全部楼层

这是and 和 or 的短路机制
and:左边的表达式的值为False时(False,[],0,(),{},'',None 等相当于False的值),and逻辑运算表达式的值就是它左边的表达式的值,因为与运算一假则假,没必要再看右边的了,否则and表达式就是右边表达式的值

or:    左边的表达式的值为True时(除False,[],0,(),{},'',None等以外的值),or逻辑运算表达式的值就是它左边的表达式的值,因为或运算一真则真,没必要再看右边的了,否则or表达式就是右边表达式的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 18:58:37 | 显示全部楼层
wp231957 发表于 2022-2-21 18:54
1 and 2,得出的就是2;表达式值是真,所以看后
                1 or 2,得出的就是1;表达式值为真 ...

我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 18:59:35 From FishC Mobile | 显示全部楼层
1171527218 发表于 2022-2-21 18:58
我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?

看看⑦楼吧,我这手机发贴不行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 19:00:44 | 显示全部楼层
isdkz 发表于 2022-2-21 18:55
这是and 和 or 的短路机制
and:左边的表达式的值为False时(False,[],0,(),{},'',None 等相当于F ...

单独一个数字怎么知道是Ture还是False?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 19:01:33 From FishC Mobile | 显示全部楼层
1171527218 发表于 2022-2-21 18:58
我想在请问一下,and,or在这个数字与数字之间对比的作用是什么?

实际上我感觉用表达式计算,没啥意义,and  or   
还是用在if条件判断里是王道
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 19:01:48 | 显示全部楼层
wp231957 发表于 2022-2-21 18:59
看看⑦楼吧,我这手机发贴不行

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 19:02:06 From FishC Mobile | 显示全部楼层
1171527218 发表于 2022-2-21 19:00
单独一个数字怎么知道是Ture还是False?

数字只有0是假,其余都是真
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 19:02:51 | 显示全部楼层
1171527218 发表于 2022-2-21 19:00
单独一个数字怎么知道是Ture还是False?


数字型的是非0即True,0即False,其它数据类型的是非空即True,空即False

你想看一个数值是True还是False可以用 bool() 函数
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 19:04:20 | 显示全部楼层
wp231957 发表于 2022-2-21 19:02
数字只有0是假,其余都是真

那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 19:52:04 | 显示全部楼层
isdkz 发表于 2022-2-21 19:02
数字型的是非0即True,0即False,其它数据类型的是非空即True,空即False

你想看一个数值是True还是 ...

那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个意思吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 19:54:09 | 显示全部楼层    本楼为最佳答案   
1171527218 发表于 2022-2-21 19:52
那就是and语句式时,真就看右边。假就看左边;
          or语句时,真就看左边,假就看右边。
是这个 ...


对的,and语句的值,只要左边为假就是左边的值,否则就是右边的值,
             or语句的值,只要左边为真就是左边的值,否则就是右边的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-21 19:55:19 | 显示全部楼层
isdkz 发表于 2022-2-21 19:54
对的,and语句的值,只要左边为假就是左边的值,否则就是右边的值,
             or语句的值,只要左 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-21 19:56:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 06:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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