目錄
if 用法
在 Python 中,若有滿足特定的條件,則可以使用 if 指令。要是滿足了某個指定的條件 (即是布林值為「True」,若不懂何謂布林值,請看這篇:Python控制結構1.布林值Boolean-True or False?),則這個程式的片段會被執行。反之,則不執行。
if 指令的語法如下
if <條件>: 執行的狀況
範例:如果 x 小於 0 則輸出「x 是負數」,而不論 x 的值為何,最後都會輸出「此Python程式結束」。
x=-10 if x < 0: print("x 是負數") print("此Python程式結束")
結果顯示如下:
x 是負數 此Python程式結束
呈上例,若 x=10 的話,則結果只會顯示「此 Python 程式結束」。
有時,if 條件式裡還會有另一組 if 條件式,就形成多層 if 條件式的架構。這種情況稱為「巢狀 if 條件式」。巢狀 if 條件式就好像設定多道關卡,資料必須經過每一道關卡的檢驗。滿足了第一關的條件,才會到第二關。這是用來檢視是否滿足多種條件的方法。如下例,如果要判斷一個人是否可以觀看輔導級、甚至限制級的電影,必須先知道他的年齡。我們把輔導級的年齡設定為 15 歲,限制級的年齡設定為 18 歲。若能觀看輔導級,不見得可以看限制級的電影;但若能看限制級的電影,則輔導級電影也可以看。今天來了一個 17 歲的人,正從以下電影考慮挑一部電影看。他們是:限制級的「藍波:最後一滴血」和輔 15 級的「無間行動」。他的年齡可以看哪一部電影呢?請參考以下程式碼:
age = 17 if age >= 15: print("已滿15歲,可以觀賞輔15級的電影") if age <18: print("未滿18歲不得觀賞限制級的電影")
結果顯示如下:
已滿15歲,可以觀賞輔15級的電影 未滿18歲不得觀賞限制級的電影
因此,他必須放棄「藍波:最後一滴血」這部片子,而選擇「無間行動」。
if 條件判斷式,可以不只有一種條件。若要新增條件的話,就必須要加「else」,說明如下:
else 用法
Python 的 if…else 條件判斷式,除了單純的 if 設定一組條件之外,還可加上 else…if 或 else 增加條件。每一個 if,都可以設定不同的條件。例如:今天你要寫出一個 Python 程式,判斷你所輸入的樂團名稱「Megadeth」,是否在四大鞭擊金屬樂團之列。則程式如下例所示:
bandname = "Metallica" if bandname == "Megadeth": print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團。") else: if bandname == "Metallica": print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯") else: if bandname == "Anthrax": print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica") else: if bandname == "Slayer": print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟") else: print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")
結果顯示如下:
Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯
以上 Python 的例子,你可以把樂團名稱換成「Megadeth」、「Anthrax」、「Slayer」或是其他的名稱試試看喔!
else if 可以縮寫成「elif」,承上方的例子,把所有的 else if 都改成「elif」則結果如下例所示(下例也把樂團名稱改成 “Megadeth”):
bandname = "Megadeth" if bandname == "Megadeth": print("無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團") elif bandname == "Metallica": print("Metallica 也是四大鞭擊金屬樂團之一。但是最好的是前四張專輯") elif bandname == "Anthrax": print("Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica") elif bandname == "Slayer": print("Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟") else: print("你輸入的樂團名稱不在四大鞭擊金屬樂團之中")
結果顯示如下:
無庸置疑,Megadeth 無論在歌曲的編制、樂句的表現與技巧的專精,都勝過其他的鞭擊金屬樂團
承上例,我們把第一行的 「bandname = “Megadeth”」改成「bandname = “Anthrax”」結果顯示如下:
Anthrax 也是四大鞭擊金屬樂團之一。但是地位不如 Megadeth 與 Metallica
承上例,我們再把第一行的 「bandname = “Anthrax”」改成「bandname = “Slayer”」結果顯示如下:
Slayer 確實是四大鞭擊金屬樂團之一。但是我對他們不熟
承上例,我們再把第一行的 「bandname = “Slayer”」,將 Slayer 改成隨便一個你知道的樂團名稱,也許結果顯示如下:
你輸入的樂團名稱不在四大鞭擊金屬樂團之中