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

第2个含空字符为false,false的话hello不是应该不打印吗?

a=False

print a and 'a=T' or 'a=F',这里只打印a=f,不打印a=T,理解false时不打印,哪位热心TX给解释下,谢谢!~

正在回答

4 回答

先执行的是 a and 'a=T',然后在看到a时发现a是False,所以执行完事就变成了False,

接着执行 False or 'a=F',因为看到or左边是False,所以这个时候就直接把右边的‘a=F’输出了。

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

慕粉2943825 提问者

追问这里,b = '' print 'hello,', b or 'world' b为空字符,空字符为false,or左边含空字符不应该为false么,为何还输出hello, 没懂
2019-02-21 回复 有任何疑惑可以回复我~
#2

慕斯卡8022800 回复 慕粉2943825 提问者

这里我理解的是 b = '' print 'hello,', b or 'world' hello只是一个字符串 它没有和world进行与运算 实际上是b和world进行判断 b为空字符是false所以直接输出了world
2019-02-24 回复 有任何疑惑可以回复我~

b = ''

b = ''

print 'hello,', b or 'world'

把其中'hello,'后面的逗号修改成 and  就能输出你需要的结果。

b = ''

print 'hello,' and b or 'world'

原因在于如果有逗号的话'hello' 是不参与布尔值的运算的,只是输出hello这个单词而已

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

这个最佳回答不对的,#2这位同学说的是对的,print只是把 ‘hello’这个字符串加了个空格和后面的运算结果连接起来了

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

首先 a and 'a=T'中a=False 与运算左边已经为False无论右边怎样结果都是False,故结果取左边 False

然后 False or 'a=F',或运算,左边为False,结果取决于右边,故输出右边 'a=F'

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

举报

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

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

进入课程

第2个含空字符为false,false的话hello不是应该不打印吗?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信