为了账号安全,请及时绑定邮箱和手机立即绑定

a=True 那道题如果把True换成False为什么得到的是a=F?

如上所述。

正在回答

2 回答

and 运算时,如果表达式后面出现or,只会短路掉到or之前的表达式,所以不会直接返回

下面给出了不同情况下的说明(关注粗体部分):

表达式从左至右运算,若 or 的左侧逻辑值为 True ,则短路 or 后所有的表达式(不管是 and 还是 or),直接输出 or 左侧表达式 。

表达式从左至右运算,若 and 的左侧逻辑值为 False ,则短路其后所有 and 表达式,直到有 or 出现,输出 and 左侧表达式到 or 的左侧,参与接下来的逻辑运算。

若 or 的左侧为 False ,或者 and 的左侧为 True 则不能使用短路逻辑。


2 回复 有任何疑惑可以回复我~

a = False

print a and 'a=T' or 'a=F'

    and 和 or运算等级一样

  1. 首先a and 'a=T' 也就是 False and 'a=T'  是为Flase

  2.  'a=F' 是为True

  3.  那么 a=and 'a=T' or 'a=F' 其实就是False or True ,而False or True 返回是True,所以就返回 'a=F'


0 回复 有任何疑惑可以回复我~
#1

慕先生1318795 提问者

可是为什么不在and那里就直接返回了呢?谢谢
2018-09-18 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758246    人
  • 解答问题       8967    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

a=True 那道题如果把True换成False为什么得到的是a=F?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号