資料操作大判官 - IF 判斷式操作(附 Python 程式碼)
在 Python 裡,流程控制有三大巨頭:if 判斷式、while 迴圈、for 迴圈。這也是對於沒有基礎的程式入門者,最容易頭昏腦漲的地方。但是一旦搞懂了,對於之後的資料存取及分析將會受用無窮!本篇文章,為了讓入門者更輕鬆、更有邏輯的學習,先帶領大家從流程控制中最頻繁使用的 if 判斷式開始,以下開始介紹 Python 中 if 判斷式的基本語法及應用。
一、基本語法
若 if 判斷條件式 (Condition) 成立,則執行底下縮排的程式陳述式 (Statement),如圖一所示,且執行順序是由上至下;若不符合條件,則不執行。而且在 Python 裡,使用 if 判斷式的寫法都是既定的,不能隨意更改,否則會錯誤。

除基本的 if 判斷式外,我們亦常使用「elif」及「else」的搭配:
- elif:即是「else if」的縮寫,它可有具有零個或多個 elif 部分。當if條件條件不符合時,則會向下尋找elif的條件是否吻合所設的條件,如圖一的 elif 下的 condition2,若符合,則會執行 elif 下的陳述式,如圖一的 statement2。
- else:即是最後的判斷條件式,它是一個可寫或可不寫的部分。當 if 與 elif 的條件式均不符合所設的條件式,則會執行 else 下的陳述式,如圖一的 statement4。
有了 if 判斷式的基本認知後,我們還要知道 if 判斷式的重點規則:
- if-elif-else 條件式 (Condition) 最後需以「:」結尾。
- 程式執行 (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 判斷式操作 — 資料操作的大判官
作者:戴若竹(臺灣行銷研究特邀作者)、鍾皓軒(臺灣行銷研究有限公司創辦人)
更多實戰案例及情境好文推薦
透過使用者習慣分析,預測未來需求量 — 以共享單車產業為例
透過使用者習慣分析,預測未來需求量 - 以共享單車產業為例 情境 情境 假設你代表公司,到了一個陌生的城鎮和客戶開會,下了捷運才發現目的地還
行銷活動利潤模型與最佳決策點分析【顧客資料蒐集與清理篇】
系列二:行銷活動利潤模型與最佳決策點分析 【顧客資料蒐集與清理篇】 在系列一(連結請點此),筆者介紹了本主題的個案情境介紹,並且遇到了五大難
電腦也會美食評鑑?以分群演算法尋找最高級的巧克力
電腦也會美食評鑑?以分群演算法尋找最高級的巧克力 情境 生產巧克力時,什麼產地的可可豆或是可可百分比可以為公司帶來更高的獲利呢? 巧克力