Python 初學第三講 — 條件判斷

讓程式依照不同條件做事吧!

陳子晴
ccClub
6 min readSep 28, 2018

--

學過了前面的內容後,我們已經了解到 Python 的基本資料型態了。接著要開始進入到條件判斷,也就是讓你的程式能夠視情況來做出不同的動作。

現實世界中總是充滿各種突發的狀況,程式的一些條件判斷與動作執行可以用來處理生活中所遇上的問題,讓程式的執行能夠因情況而轉彎。

例如:「當室內溫度超過 28 度時,就啟動冷氣運作。」「當感測器所偵測的數值大於 60 時,就點亮紅色警示燈,否則點亮綠色警示燈。」

在 Python 語言中,就提供了 ifelseelif 這三種語法來協助我們實現各種條件判斷和流程控制。

Python 程式語言是一行一行執行的,所以當我們想要所寫的程式在某些條件下跳過某幾行敘述、不再照單全收的時候,就可以使用條件判斷。也就是說,如果要讓程式可以自動檢查所處理資料的內容,而且根據資料內容來決定是否執行某一個敘述或指令,那就需要用到條件判斷式來控制流程。

條件判斷

1. if 敘述

當程式流程在進行的過程,需要根據某個條件來決定是否執行接下來的動作時,就需要用到 if 敘述:

if condition:
statement

Note: 眼尖的你可能發現, statement 前方有四個空格,這個動作叫縮排(indentation)。在 Python 中要去判斷「哪些程式碼屬於某層級之下」不是使用大括號 {} ,而是使用縮排判斷,只要在同一層縮排就是屬於上方「:」下的內容。因此縮排在 Python 中是十分重要的,而根據 Python的協定 PEP8 的規定,在 Python 中我們會使用「四個空格」來縮排。

在上述語法中,若判斷條件成立,則執行底下縮排的敘述內容;反之,則不動作。例如:

score = int(input("請輸入成績"))
if score >= 60:
print("成績及格!")

執行結果如下:

Note: input()這個語法,可以用來使程式讓使用者輸入內容。當一個變數被指定為 input() 時,預設的型態為 string

2. if-else敘述

if 敘述還可以搭配 else 來使用,讓程式在 if 條件不成立時,便去執行 else 底下所定義的動作;也就是當判斷條件成立時做某事,判斷條件不成立時就做另外一件事。其語法如下:

if condition:
statement1 for True condition
else:
statement2 for False condition

在上述語法中,若condition 為真 (True),則執行 statement1;反之,則執行statement2。例如:

score = int(input("score:"))
if score >= 60:
print("成績及格!")
else:
print("不及格,被當了!")

執行結果如下:

當輸入的成績大於 60 ,則執行 if 內的敘述,也就是印出「成績及格!」。

反之,則執行 else 內的敘述,即印出「不及格,被當了!」。

如果想寫個程式,印出輸入兩個數字中比較大的那個,則:

a = input("a: ")
b = input("b: ")
if a > b:
print("max: ", a)
else:
print("max: ", b)

執行結果如下:

if-else敘述的應用

3. if-elif-else敘述

有的時候需要判斷的可能狀況有很多種時,這時候就可以使用 if-elif-else 結構來描述我們的需求。語法如下:

if condition1:
statement1 for True Condition1
elif condition2 :
statement2 for True Condition2
elif condition3 :
statement3 for True Condition3
else:
statements for Each Condition False

Note: elif 的個數是沒有限制的,可以依照自己的需求而定。

下面是將輸入成績區分為 A, B, C, D 和 F 等 5 個等級的例子:

score = int(input("score: "))
if score >= 90:
print('Grade is: A')
elif score >= 80:
print('Grade is: B')
elif score >= 70:
print('Grade is: C')
elif score >= 60:
print('Grade is: D')
else:
print('Grade is: F')

執行結果如下:

if-elif-else的應用

4. 巢狀if敘述

當我們要在判斷條件中安排更進一步的判斷條件時,就需要用到巢狀 if 結構了。所謂的巢狀 if 敘述是指在 if-else 敘述當中,還有另一組 if-else 敘述,例如:

ID = input()
year = int(ID[1:3])
if year < 4:
print("Graduated")
elif year <= 7 and year >= 4:
if year == 7:
print("Freshman")
elif year == 6:
print("Sophomore")
elif year == 5:
print("Junior")
elif year == 4:
print("Senior")
else:
print("Not Registered Yet")

執行結果如下:

經過一番努力後,現在我們的程式已經可以在不同條件來執行不同動作了~

下一講就將會介紹另一個重要的精髓 — 迴圈。

在處理資料時,若是想要重複執行某些相同的步驟時,就會使用到迴圈,讓指定的某段敘述在條件符合的情況下重覆執行。

我們是 ccClub 團隊,致力於讓 Python 成為大家的第二外語,希望能用淺顯易懂、循序漸進的方式,帶領新手一步步跨入程式設計的世界。如果你喜歡這篇文章,請給我們 1~10 個掌聲。
如果你喜歡「Python初學」的教學系列文,請給我們 11 個以上的掌聲。


Facebook: ccClub Python讀書會

--

--