【廖雪峰python入門筆記】if語句
1. if語句及縮排規則
計算機之所以能做很多自動化
的任務,因為它可以自己做條件判斷
。
比如,輸入使用者年齡,根據年齡列印不同的內容,在Python程式中,可以用if語句實現:
age = 20
if age >= 18:
print('your age is', age)
print('adult')
print('END')
注意: Python程式碼的縮排規則
。具有相同縮排的程式碼被視為程式碼塊,上面的3,4行 print 語句就構成一個程式碼塊
(但不包括第5行的print)。如果 if 語句判斷為 True,就會執行這個程式碼塊。
縮排請嚴格按照Python的習慣寫法:4個空格
,不要
使用Tab
,更不要混合Tab和空格
,否則很容易造成因為縮排引起的語法錯誤。
注意: if 語句後接表示式,然後用:表示程式碼塊開始。
2. if-else
當 if 語句判斷表示式的結果為 True 時,就會執行 if 包含的程式碼塊:
if age >= 18:
print('adult')
如果我們想判斷年齡在18歲以下時,列印出 ‘teenager’,怎麼辦?
方法是再寫一個 if:
if age < 18:
print('teenager')
或者用 not 運算:
if not age >= 18:
print('teenager')
細心的同學可以發現,這兩種條件判斷是“非此即彼”的,要麼符合條件1,要麼符合條件2,因此,完全可以用一個 if … else … 語句把它們統一起來:
if age >= 18:
print('adult')
else:
print('teenager')
利用 if … else … 語句,我們可以根據條件表示式的值為 True 或者 False ,分別執行 if 程式碼塊或者 else 程式碼塊。
注意:
else 後面有個“:
”。
3. if-elif-else
有的時候,一個 if … else … 還不夠用。比如,根據年齡的劃分:
條件1:18歲或以上:adult
條件2:6歲或以上:teenager
條件3:6歲以下:kid
我們可以用一個 if age >= 18 判斷是否符合條件1,如果不符合,再通過一個 if 判斷 age >= 6 來判斷是否符合條件2,否則,執行條件3:
if age >= 18:
print('adult')
else:
if age >= 6:
print('teenager')
else:
print('kid')
這樣寫出來,我們就得到了一個兩層巢狀的 if … else … 語句。這個邏輯沒有問題,但是,如果繼續增加條件,比如3歲以下是 baby:
if age >= 18:
print('adult')
else:
if age >= 6:
print('teenager')
else:
if age >= 3:
print('kid')
else:
print('baby')
這種縮排只會越來越多,程式碼也會越來越難看。
要避免巢狀結構的 if … else …,我們可以用 if … 多個elif … else … 的結構,一次寫完所有的規則:
if age >= 18:
print('adult')
elif age >= 6:
print('teenager')
elif age >= 3:
print('kid')
else:
print('baby')
elif 意思就是 else if。這樣一來,我們就寫出了結構非常清晰的一系列條件判斷。
特別注意:
這一系列條件判斷會從上到下依次判斷,如果某個判斷為 True,執行完對應的程式碼塊,後面的條件判斷就直接忽略,不再執行了。
相關文章
- 【廖雪峰python入門筆記】dictPython筆記
- 【廖雪峰python入門筆記】setPython筆記
- 【廖雪峰python入門筆記】切片Python筆記
- 【廖雪峰python入門筆記】迭代Python筆記
- 【廖雪峰python入門筆記】函式Python筆記函式
- 【廖雪峰python入門筆記】變數Python筆記變數
- 【廖雪峰python入門筆記】for迴圈Python筆記
- 【廖雪峰python入門筆記】列表生成式Python筆記
- 【廖雪峰python入門筆記】list_建立Python筆記
- 【廖雪峰python入門筆記】tuple_建立Python筆記
- 【廖雪峰python入門筆記】while迴圈Python筆記While
- 【廖雪峰python入門筆記】break和continuePython筆記
- 【廖雪峰python入門筆記】多重迴圈Python筆記
- 【廖雪峰python入門筆記】list刪除元素_pop()Python筆記
- 【廖雪峰python入門筆記】list_替換元素Python筆記
- 【廖雪峰python入門筆記】tuple_“元素可變”Python筆記
- 【廖雪峰python入門筆記】tuple_建立單元素Python筆記
- 【廖雪峰python入門筆記】字串_轉義字元的使用Python筆記字串字元
- 【廖雪峰python入門筆記】raw 字串和多行字串表示Python筆記字串
- 【廖雪峰python入門筆記】Unicode編碼_UnicodeDecodeError處理Python筆記UnicodeError
- 【廖雪峰python入門筆記】整數和浮點數Python筆記
- 【廖雪峰python入門筆記】list_按照索引訪問Python筆記索引
- 【廖雪峰python入門筆記】list_倒序訪問Python筆記
- 【廖雪峰python入門筆記】list新增元素_append()和insert()Python筆記APP
- 【廖雪峰python入門筆記】布林運算和短路計算Python筆記
- 【廖雪峰python進階筆記】模組Python筆記
- 【廖雪峰python進階筆記】函數語言程式設計Python筆記函數程式設計
- 【廖雪峰python進階筆記】定製類Python筆記
- 【廖雪峰python進階筆記】類的繼承Python筆記繼承
- 20190228 學習筆記——廖雪峰 git筆記Git
- 【廖雪峰python進階筆記】物件導向程式設計Python筆記物件程式設計
- 跟著廖雪峰學python 005Python
- 廖雪峰Git學習筆記1-Git簡介Git筆記
- Python廖雪峰13個案例講解分析帶你全面入門人工智慧Python人工智慧
- Python入門 - 判斷語句Python
- Python學習筆記 - if語句Python筆記
- Python 入門 :基本條件語句Python
- Python 入門筆記Python筆記