S4E18 Python Snakify L3 條件判斷
引言
編程最主要的結(jié)構(gòu)就是判斷與重復(fù)。在這節(jié)將為大家介紹判斷語(yǔ)句 if-else 。這節(jié)課使用的是 sankify Lesson 3 的課程。若先前對(duì) snakify 還不熟悉,請(qǐng)先參閱以下文章。
1. snakify Lesson 1?S4E04 Python 學(xué)習(xí)平臺(tái) Snakify
2. snakify Lesson 2?S4E10:Snakify Lesson2 - 0.1+0.2不等于0.3?快來(lái)一探究竟吧~
課程架構(gòu)
在這結(jié)課主要學(xué)習(xí),判斷語(yǔ)句的使用,也就是 if-else 的結(jié)構(gòu)。
其課程架構(gòu)分為五部分
1. Synttax 語(yǔ)法
2. Nested conditions 巢狀判斷語(yǔ)句
3. Comparison operators 比較判斷運(yùn)算元
4. Bool objects and logical operators 邏輯運(yùn)算元
5. 'elif' word ? 多重判斷
1. Synttax 語(yǔ)法
1. 學(xué) if 后,就進(jìn)入槽狀結(jié)構(gòu)(如下圖)。
2. if else 結(jié)尾要用 「 : 」
3. 不同于多數(shù)語(yǔ)言是用括號(hào)來(lái)限定范圍,Python 是利用內(nèi)縮來(lái)控制范圍的。因此內(nèi)縮很重要。

?? ? ? ? ? ?
2. Nested conditions 巢狀判斷語(yǔ)句
1. 當(dāng)有多重的判斷時(shí),就需要 if 內(nèi)部再套用 if-else 的結(jié)構(gòu)。
2. 使用雙重判斷時(shí),縮排的對(duì)齊要注意

?? ? ? ? ? ?
3. Comparison operators 比較判斷運(yùn)算元
1. 在邏輯判斷中,最需要提醒的就是 == 表示判斷是否相等。
2. 用 <= 來(lái)表示小于等于。
3. 用 != 來(lái)表示不等于。
4. Bool objects and logical operators 邏輯運(yùn)算元
1. 利用 and or not 的邏輯運(yùn)算元來(lái)處理多重判斷。
2. bool() 這函數(shù)只要是非 0 的結(jié)果都為 True。
3. bool('') 為 False, bool(0) 為 False
5. 'elif' word ? 多重判斷
巢狀的 if 也可改寫(xiě)為 if-elif-else 的結(jié)構(gòu),但若原本的結(jié)構(gòu)適合用巢狀表示就用巢狀。對(duì)是同層的架構(gòu),例如 60~69,70~79,80~89,90~100 這個(gè)分類(lèi)就比較適合用 elif

練習(xí)問(wèn)題
學(xué)完基本概念后,最重要的還是應(yīng)用練習(xí)。除了語(yǔ)法外,更重要是想清楚邏輯順序。尤其稍微復(fù)雜的問(wèn)題時(shí)是需要進(jìn)行多重的判斷。
文中介紹了四個(gè) Problems 的解說(shuō)課程。除了完成這四個(gè)外,建議至少再完成 4 個(gè)練習(xí),來(lái)熟悉編程的思維邏輯與語(yǔ)法。
1.?Ends On Seven : 用 %來(lái)求個(gè)位數(shù)
2. Are Both Odd :and 的初步使用
3. Linear Equations:結(jié)合代數(shù)的情境來(lái)判斷 ax=b 的解
4. Vertices of Rectangle :多重 if 的使用。
參考資源
【Bili?】https://www.bilibili.com/video/av35244401
【Snakify 】?https://snakify.org/en/lessons/if_then_else_conditions/
【YouTube】?https://www.youtube.com/playlist?list=PLXH05kw-i_5Km0D4rky8_s6yOD-NNh1k5