笨辦法學Python(二十八)

2022-04-02 18:23:27 字數 2609 閱讀 9528

上一節你學到的邏輯組合的正式名稱是「布林邏輯表示式(boolean logic expression)」。在程式設計中,布林邏輯可以說是無處不在。它們是計算機運算的基礎和重要組成部分,掌握它們就跟學**掌握音階一樣重要。

在這節練習中,你將在 python

裡使用到上節學到的邏輯表示式。先為下面的每乙個邏輯問題寫出你認為的答案,每一題的答案要麼為 true 要麼為 false。寫完以後,你需要將python

執行起來,把這些邏輯語句輸入進去,確認你寫的答案是否正確。

true and true

false and true

1 == 1 and 2 == 1

"test" == "test"

1 == 1 or 2 != 1

true and 1 == 1

false and 0 != 0

true or 1 == 1

"test" == "testing"

1 != 0 and 2 == 1

"test" != "testing"

"test" == 1

not (true and false)

not (1 == 1 and 0 != 1)

not (10 == 1 or 1000 == 1000)

not (1 != 10 or 3 == 4)

not ("testing" == "testing" and "zed" == "cool guy")

1 == 1 and not ("testing" == 1 or 1 == 0)

"chunky" == "bacon" and not (3 == 4 or 3 == 3)

3 == 3 and not ("testing" == "testing" or "python" == "fun")

在本節結尾的地方我會給你乙個理清複雜邏輯的技巧。

所有的布林邏輯表示式都可以用下面的簡單流程得到結果:

找到相等判斷的部分 (== or !=),將其改寫為其最終值 (true 或 false)。

找到括號裡的 and/or,先算出它們的值。

找到每乙個 not,算出他們反過來的值。

找到剩下的 and/or,解出它們的值。

等你都做完後,剩下的結果應該就是 true 或者 false 了。

下面我們以 #20 邏輯表示式演示一下:

3 != 4 and

not ("

testing

" != "

test"or

"python

" == "

python

")

接下來你將看到這個複雜表示式是如何逐級解為乙個單獨結果的:

解出每乙個等值判斷:

3 != 4

為 true

: true and not ("testing" != "test" or "python" == "python")

"testing" != "test"

為 true

: true and not (true or "python" == "python")

"python" == "python"

: true and not (true or true)

找到括號中的每乙個 and/or :

(true or true)

為 true: true and not (true)

找到每乙個 not 並將其逆**

not (true)

為 false: true and false

找到剩下的 and/or,解出它們的值:

true and false

為 false

這樣我們就解出了它最終的值為 false.

warning

複雜的邏輯表示式一開始看上去可能會讓你覺得很難。而且你也許已經碰壁過了,不過別灰心,這些「邏輯體操」式的訓練只是讓你逐漸習慣起來,這樣後面你可以輕易應對程式設計裡邊更酷的一些東西。只要你堅持下去,不放過自己做錯的地方就行了。如果你暫時不太能理解也沒關係,弄懂的時候總會到來的。

以下內容是在你自己猜測結果以後,通過和 python

對話得到的結果:

python 裡還有很多和 !=

、 ==

類似的操作符. 試著盡可能多地列出 python 中的等價運算子。例如 <

或者 <=

就是。寫出每乙個等價運算子的名稱。例如 !=

叫 「not equal(不等於)」。

在 python

中測試新的布林操作。在敲回車前你需要喊出它的結果。不要思考,憑自己的第一感就可以了。把表示式和結果用筆寫下來再敲回車,最後看自己做對多少,做錯多少。

把習題 3 那張紙丟掉,以後你不再需要查詢它了。

笨辦法學Python(三十八)

現在去找一些 python 閱讀一下。你需要自己找 然後從中學習一些東西。你學到的東西已經足夠讓你看懂一些 了,但你可能還無法理解這些 的功能。這節課我要教給你的是 如何運用你學到的東西理解別人的 首先把你想要理解的 列印到紙上。沒錯,你需要列印出來,因為和螢幕輸出相比,你的眼睛和大腦更習慣於接受紙...

笨辦法學Python(二十二)

這節以及下一節的習題中不會有任何 所以也不會有習題答案或者加分習題。其實這節習題可以說是乙個巨型的加分習題。我將讓你完成乙個 讓你回顧你到現在學到的所有東西。首先,回到你的每乙個習題的指令碼裡,把你碰到的每乙個詞和每乙個符號 symbol,character的別名 寫下來。確保你的符號列表是完整的。...

笨辦法學Python(二十一)

你已經學過使用 給變數命名,以及將變數定義為某個數字或者字串。接下來我們將讓你見證更多奇蹟。我們要演示給你的是如何使用 以及乙個新的 python 詞彙return 來將變數設定為 乙個函式的值 有一點你需要及其注意,不過我們暫且不講,先撰寫下面的指令碼吧 1 defadd a,b 2print a...