不懂布爾運算
True and 'a=T' 計算結果是 'a=T' 繼續計算 'a=T' or 'a=F' 計算結果還是 'a=T' ? 有大神解釋下這個是為什么嗎,第一個為什么不是true,二是a=t,后面為什么結果是a=t不是a=f???
True and 'a=T' 計算結果是 'a=T' 繼續計算 'a=T' or 'a=F' 計算結果還是 'a=T' ? 有大神解釋下這個是為什么嗎,第一個為什么不是true,二是a=t,后面為什么結果是a=t不是a=f???
2017-03-15
舉報
2017-03-15
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'。
2017-03-15
邏輯與和邏輯或啊。。
在運算過程中,兩邊的值轉成Boolean 類型,然后再算值 ,與運算如果返回true,則取后面的值,或運算返回true,則取前面的值 。
2017-03-15
記得口訣:
and運算:在計算a and b時,如果a是false,則整個結果必定為false(只有兩者都為True時候整個結果為True),因此返回a,如果a為True時,那整個結果取決于b,所以返回b
or運算:如果a時True,則整個結果一定為Tru(其中一個為真則為True),返回a值,如果a為false,則取決于b值,返回b
2017-03-15
首先請百度:短路計算法則. ?其次,在布爾計算中,'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'.