亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

第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
  • 參與學習       758398    人
  • 解答問題       8967    個

學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序

進入課程

第2個含空字符為false,false的話hello不是應該不打印嗎?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號