鱼C论坛

 找回密码
 立即注册
查看: 4859|回复: 3

[已解决]not and or

[复制链接]
发表于 2017-4-19 21:17:16 | 显示全部楼层 |阅读模式

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

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

x
not and or怎么计算?6and7and8为什么等于8?
最佳答案
2017-4-20 10:06:49
本帖最后由 thexiosi 于 2017-4-20 10:17 编辑

逻辑操作符遵循短路法则

以 “6 and 7 and 8”为例:        # 一定要加空格,否则会被识别为变量名,随后报错;数字不能作为变量名的开头
(1)6、7 均 > 0:均为True,6 and 7 相当于 True1 and True2,最后结果为 True2
(2)6 and 7 and 8 等效于 7 and 8
(3)因此,最后结果是 8

抱歉,自己说的不是太清楚,个人建议:多上机实践下,然后自己细细思考为什么结果是这样,这样理解起来就相对容易一些了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-4-19 21:42:08 | 显示全部楼层
逻辑操作符有个有趣的特性:在不需要求值的时候不进行操作。这么说可能比较“高深”,        举个例子,表达式x and y,需要x和y两个变量同时为真(True)的时候,结果才为真。        因此,如果当x变量得知是假(False)的时候,表达式就会立刻返回False,而不用去管y变量的值。
这种行为被称为短路逻辑(short-circuit logic)或者惰性求值(lazy evaluation),这种行为也应用于or操作符。
实际上,Python的做法是如果x为假,表达式会返回x的值(0),否则它就会返回y        的值。

评分

参与人数 1鱼币 +5 收起 理由
~风介~ + 5

查看全部评分

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

使用道具 举报

发表于 2017-4-20 10:06:49 | 显示全部楼层    本楼为最佳答案   
本帖最后由 thexiosi 于 2017-4-20 10:17 编辑

逻辑操作符遵循短路法则

以 “6 and 7 and 8”为例:        # 一定要加空格,否则会被识别为变量名,随后报错;数字不能作为变量名的开头
(1)6、7 均 > 0:均为True,6 and 7 相当于 True1 and True2,最后结果为 True2
(2)6 and 7 and 8 等效于 7 and 8
(3)因此,最后结果是 8

抱歉,自己说的不是太清楚,个人建议:多上机实践下,然后自己细细思考为什么结果是这样,这样理解起来就相对容易一些了

评分

参与人数 1鱼币 +5 收起 理由
~风介~ + 5

查看全部评分

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

使用道具 举报

发表于 2017-5-5 16:02:21 | 显示全部楼层
百度 ‘短路法则’前面判断过了的后面在某些情况下会直接忽略
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-23 21:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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