資料操作大判官 - IF判斷式操作
(附Python程式碼)

在 Python 裡,流程控制有三大巨頭:if 判斷式、while 迴圈、for 迴圈。這也是對於沒有基礎的程式入門者,最容易頭昏腦漲的地方。但是一旦搞懂了,對於之後的資料存取及分析將會受用無窮!本篇文章,為了讓入門者有更輕鬆有邏輯的學習,先帶領大家從流程控制中最頻繁使用的if 判斷式開始,以下開始介紹 Python 中 if 判斷式的基本語法及應用。

Photo by: Brodie Vissers

一、基本語法

若if判斷條件式(Condition)成立,則執行底下縮排的程式陳述式(Statement),如圖一所示,且執行順序是由上至下;若不符合條件,則不執行。而且在 Python 裡,使用 if 判斷式的寫法都是既定的,不能隨意更改,否則會錯誤。

圖一、if 判斷式基本語法示意圖。

除基本的if判斷式外,我們亦常使用「elif」及「else」的搭配:

  1. elif:即是「else if」的縮寫,它可有具有零個或多個 elif 部分。當if條件條件不符合時,則會向下尋找elif的條件是否吻合所設的條件,如圖一的elif下的condition2,若符合,則會執行elif下的陳述式,如圖一的statement2。
  2. else:即是最後的判斷條件式,它是一個可寫或可不寫的部分。當if與elif的條件式均不符合所設的條件式,則會執行else下的陳述式,如圖一的statement4。

有了if判斷式的基本認知後,我們還要知道if判斷式的重點規則:

  1. if-elif-else 條件式(Condition)最後需以「:」結尾。
  2. 程式執行(Statement)的部分要縮排。

現在我們可以嘗試將圖一的程式碼修改,設定條件及其對應的執行敘述。

二、if判斷式的應用

假設準備結算期末成績,有許多學生的成績資料要批改整理,我們可以寫一個小程式交由電腦快速地達到目的,避免重複性的動作,以節省大量的時間。

若一位學生的期末成績為70分(設定成績變數),想要判斷這位學生的考試成績是否及格,我們可以在第一行的 if 判斷式設定及格條件:60 分以上及格,如程式碼1所示。

程式碼1:

score = 70 # 設定成績變數if score >= 60: # 60分以上及格   print("及格!")else: # 不符合以上條件的時候執行   print("不及格!")

產出:

及格!

一個簡單的小程式就這樣完成了!大家可以隨意更改變數跟條件,嘗試寫出自己需要的 if 判斷式!

接下來,我們來嘗試寫寫看更複雜的 if 判斷式,並讓 elif 參與進來。這次我們將把百分制成績(0~100)轉換成等第的A、B、C及F,如程式碼2所示。

程式碼2:

score = 70 # 設定成績變數if (score > 80):   print("A")elif (score >= 70) & (score < 80): # 加上括號分群幫助易讀   print("B")elif (score >= 60) & (score < 70):   print("C")else:   print("F")

產出:

B

在判斷條件式中,添加括號可以提升程式碼的易讀性,建議程式寫作時盡量養成寫括號的習慣,可以降低程式碼出錯的機率。

以上就是本文對 if 判斷式的介紹, if 判斷式內也可以再寫一層 if 判斷式或加入迴圈做更多的變化,大家可以自由的嘗試。

如果你喜歡我的文章,請給我一點掌聲~~

Jupyter notebook程式碼:IF判斷式操作 — 資料操作的大判官

作者:戴若竹 (臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)

更多實戰案例及情境好文推薦

回到頂端