這節瘋狂練習布爾表達式,在python終端輸入這些表達式的時候都會有判斷結果,為了友善就寫成腳本檔案運作确啥都沒有,這個問題還真不好查找。
總之判斷一定要快和準确,可以參照下面流程判斷複雜的布爾表達式:
找到“==”和“!=”,寫成真值
找到括号裡的and/or,算真值
找到每一個not,取反真值
找到剩下的and/or,得到結果
列出所有的“相等運算符”:
https://www.runoob.com/python/python-operators.html
運算符 | 描述 | 執行個體 |
---|---|---|
== | 等于 - 比較對象是否相等 | (a == b) 傳回 False |
!= | 不等于 - 比較兩個對象是否不相等 | (a != b) 傳回 true |
>= | 大于等于 - 傳回x是否大于等于y | (a >= b) 傳回 False |
<= | 小于等于 - 傳回x是否小于等于y | (a <= b) 傳回 true |
= | 簡單的指派運算符 | c = a + b 将 a + b 的運算結果指派為 c |
+= | 加法指派運算符 | c += a 等效于 c = c + a |
-= | 減法指派運算符 | c -= a 等效于 c = c - a |
*= | 乘法指派運算符 | c *= a 等效于 c = c * a |
/= | 除法指派運算符 | c /= a 等效于 c = c / a |
%= | 取模指派運算符 | c %= a 等效于 c = c % a |
**= | 幂指派運算符 | c **= a 等效于 c = c ** a |
//= | 取整除指派運算符 | c //= a 等效于 c = c // a |
注意:短路邏輯的應用,如果and語句中有False那肯定就是False;如果or語句有True那就是True,但是初學還是要確定能了解整個語句。
注意:給布爾表達式傳回兩個被操作對象中的一個,而不是True或False。這個真不好了解。經過一番思考好像了解了!!:其實就和前面的短路邏輯也有聯系:
使用and的時候:如果and前面的是0或者Flase,後面的不用看結果也應該是False或者0;如果前面的不是這兩個,就會檢測後面的對象,後面的對象如果是0或者False就是這倆,如果也是真值,那就直接傳回這個操作對象了: 使用or的時候:如果前面的是真值,直接忽略後面的傳回前面的對象;如果前面的是0或者False,就會檢測後面的對象,是真值傳回真值,否則傳回後面的0或者False:
學習感悟:這節就是布爾表達式的練習,有一點真的難了解啥意思,“傳回兩個被操作對象中的一個?”,不過通過大量嘗試起碼弄出來個好記得方法,先這樣記着~~