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

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

不懂布爾運算

True and 'a=T' 計算結果是 'a=T' 繼續計算 'a=T' or 'a=F' 計算結果還是 'a=T' ? 有大神解釋下這個是為什么嗎,第一個為什么不是true,二是a=t,后面為什么結果是a=t不是a=f???

正在回答

4 回答

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

首先看前一部分,a and 'a=T',由于運算符是and,所以只要二者有一個為FALSE,結果便為FALSE,第一個a是TRUE,那么a and 'a=T'整體的結果便取決于'a=T',因而返回'a=T'。

現在就變為了?'a=T' or 'a=F',運算符是or,所以所以只要二者有一個為TRUE,結果便為TRUE,從前向后看,'a=T' 已經是TRUE了,不管后面的?'a=F'是true還是FALSE,結果都為true,因此結果取決于?'a=T',返回?'a=T'。

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

weibo_Puss_欣怡_0 提問者

非常感謝!
2017-03-26 回復 有任何疑惑可以回復我~
#2

weibo_Puss_欣怡_0 提問者

謝謝!明白了
2017-03-26 回復 有任何疑惑可以回復我~

邏輯與和邏輯或啊。。

在運算過程中,兩邊的值轉成Boolean 類型,然后再算值 ,與運算如果返回true,則取后面的值,或運算返回true,則取前面的值 。


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

記得口訣:

and運算:在計算a and b時,如果a是false,則整個結果必定為false(只有兩者都為True時候整個結果為True),因此返回a,如果a為True時,那整個結果取決于b,所以返回b

or運算:如果a時True,則整個結果一定為Tru(其中一個為真則為True),返回a值,如果a為false,則取決于b值,返回b

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

首先請百度:短路計算法則. ?其次,在布爾計算中,'a=T'被視為True.?

接下來,看具體分析:

True and 'a=T'?運算時:因為 'and'前面是True,計算結果取決于and后面的?'a=T'的True/False,所以結果是 'a=T';

'a=T' or 'a=F' 運算時: 因為'a=T'為True,所以 'or' 后面的不需要看,直接返回結果 'a=T'.

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

舉報

0/150
提交
取消
初識Python
  • 參與學習       758392    人
  • 解答問題       8967    個

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

進入課程

不懂布爾運算

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

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

幫助反饋 APP下載

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

公眾號

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