到此為止你已經(jīng)學(xué)會了讀寫文件,命令行處理,以及很多 Python 數(shù)學(xué)運算功能。今天,你將要開始學(xué)習(xí)邏輯了。你要學(xué)習(xí)的不是研究院里的高深邏輯理論,只是程序員每天都用到的讓程序跑起來的基礎(chǔ)邏輯知識。
學(xué)習(xí)邏輯之前你需要先記住一些東西。這個練習(xí)我要求你一個星期完成,不要擅自修改日程,就算你煩得不得了,也要堅持下去。這個練習(xí)會讓你背下來一系列的邏輯表格,這會讓你更容易地完成后面的習(xí)題。
需要事先警告你的是:這件事情一開始一點樂趣都沒有,你會一開始就覺得它很無聊乏味,但它的目的是教你程序員必須的一個重要技能——一些重要的概念是必須記住的,一旦你明白了這些概念,你會獲得相當(dāng)?shù)某删透?,但是一開始你會覺得它們很難掌握,就跟和烏賊摔跤一樣,而等到某一天,你會刷的一下豁然開朗。你會從這些基礎(chǔ)的記憶學(xué)習(xí)中得到豐厚的回報。
這里告訴你一個記住某樣?xùn)|西,而不讓自己抓狂的方法:在一整天里,每次記憶一小部分,把你最需要加強的部分標(biāo)記起來。不要想著在兩小時內(nèi)連續(xù)不停地背誦,這不會有什么好的結(jié)果。不管你花多長時間,你的大腦也只會留住你在前 15 或者 30 分鐘內(nèi)看過的東西。
取而代之,你需要做的是創(chuàng)建一些索引卡片,卡片有兩列內(nèi)容,正面寫下邏輯關(guān)系,反面寫下答案。你需要做到的結(jié)果是:拿出一張卡片來,看到正面的表達(dá)式,例如 “True or False”,你可以立即說出背面的結(jié)果是 “True”!堅持練習(xí),直到你能做到這一點為止。
一旦你能做到這一點了,接下來你需要每天晚上自己在筆記本上寫一份真值表出來。不要只是抄寫它們,試著默寫真值表,如果發(fā)現(xiàn)哪里沒記住的話,就飛快地撇一眼這里的答案。這樣將訓(xùn)練你的大腦讓它記住整個真值表。
不要在這上面花超過一周的時間,因為你在后面的應(yīng)用過程中還會繼續(xù)學(xué)習(xí)它們。
在 python 中我們會用到下面的術(shù)語(字符或者詞匯)來定義事物的真(True)或者假(False)。計算機的邏輯就是在程序的某個位置檢查這些字符或者變量組合在一起表達(dá)的結(jié)果是真是假。
其實你已經(jīng)見過這些字符了,但這些詞匯你可能還沒見過。這些詞匯(and, or, not)和你期望的效果其實是一樣的,跟英語里的意思一模一樣。
我們將使用這些字符來創(chuàng)建你需要記住的真值表。
| NOT | True? |
|---|---|
| not False | True |
| not True | False |
| OR | True? |
|---|---|
| True or False | True |
| True or True | True |
| False or True | True |
| False or False | False |
| AND | True? |
|---|---|
| True and False | False |
| True and True | True |
| False and True | False |
| False and False | False |
| NOT OR | True? |
|---|---|
| not (True or False) | False |
| not (True or True) | False |
| not (False or True) | False |
| not (False or False) | True |
| NOT AND | True? |
|---|---|
| not (True and False) | True |
| not (True and True) | False |
| not (False and True) | True |
| not (False and False) | True |
| != | True? |
|---|---|
| 1 != 0 | True |
| 1 != 1 | False |
| 0 != 1 | True |
| 0 != 0 | False |
| == | True? |
|---|---|
| 1 == 0 | False |
| 1 == 1 | True |
| 0 == 1 | False |
| 0 == 0 | True |
現(xiàn)在使用這些表格創(chuàng)建你自己的卡片,再花一個星期慢慢記住它們。記住一點,這本書不會要求你成功或者失敗,只要每天盡力去學(xué),在盡力的基礎(chǔ)上多花一點功夫就可以了。