鱼C论坛

 找回密码
 立即注册
查看: 2423|回复: 4

第六讲的短路逻辑应用的题没看懂

[复制链接]
发表于 2016-10-11 04:37:13 | 显示全部楼层 |阅读模式

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

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

x
1).>>> 0 or 0 or 4 or 6 or 9
4
请问为什么答案是4?
为什么不返回0呢?0 不是等于False吗?
这里什么是True,什么是False呢?
2). 3 and 4 == 4, 3 or 4 == 3,
我的理解是一个False,一个True
在不用求值时,python直接返回False的值4?但是我上面的还是没理解。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2016-10-11 09:46:19 | 显示全部楼层
or是遇到真就结束了。第1次0 or 0 得假,再 假 or 4 得真,结束。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-10-11 11:38:13 | 显示全部楼层
and 和 or前后就是两个操作。

3 and 4, 先执行3是否是True,如果是则执行 4是否是True, 如果不是则返回False。
3 and 4 == 4 其实是先执行3是否是True。 然后执行4==4是否是true。

3 or 4 呢也是一样的,先执行3是否是true,如果是则返回3,后面的就不执行了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-12 03:57:17 | 显示全部楼层
domenet 发表于 2016-10-11 09:46
or是遇到真就结束了。第1次0 or 0 得假,再 假 or 4 得真,结束。

谢谢解答!
请问你的意思是说,0 or 0 or 4 or 6 or 9其实是(0 or 0)or(4 or 6)or( 9)?
但是根据短路逻辑,当x,y没有赋值时,如果x是False,不是应该直接返回false吗,也就是0,我还是不太理解咯1
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-10-12 04:00:07 | 显示全部楼层
wei_Y 发表于 2016-10-11 11:38
and 和 or前后就是两个操作。

3 and 4, 先执行3是否是True,如果是则执行 4是否是True, 如果不是则返回 ...

3 and 4 == 4, 3 or 4 == 3
你的意思其实是3 and (4 == 4), 3 or (4 == 3)?
谢谢解答!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-23 07:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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