(Python)-初學 Class-3 — 條件判斷

(Python)-初學 Class-3 — 條件判斷

(Python)-初學 Class-3 — 條件判斷

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

 

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

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

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

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

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

 

3-1 條件判斷

 

1. if 敘述

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

if condition: statement

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

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

 

Learn 1 :

score = int(input("請輸入成績"))

if score >= 60:

    print("成績及格!")

執行結果如下:

請輸入成績70 成績及格!

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。例如:

 

Learn 2 :

score = int(input("score:"))

if score >= 60:

    print("成績及格!")

else:

    print("不及格,被當了!")

 

執行結果如下:

score:40 不及格,被當了!

score:60 成績及格!

 

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

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

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

 

Learn 3 :

a = input("a: ")

b = input("b: ")

if a > b:

    print("max: ", a)

else:

    print("max: ", b)

 

執行結果如下:

a: 5

b: 3 max: 5

 

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 個等級的例子:

 

Learn 4 :

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')

 

執行結果如下:

score: 70 Grade is: C

 

4. 巢狀if敘述

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

 

Learn 5 :

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")

 

執行結果如下:

B06303000 Sophomore

 

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

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

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

 

 

 

免責聲明:

1.本影像檔案皆從網上搜集轉載,不承擔任何技術及版權問題

2.如有下載連結僅供寬頻測試研究用途,請下載後在24小時內刪除,請勿用於商業

3.若侵犯了您的合法權益,請來信通知我們,我們會及時刪除,給您帶來的不便,深表歉意。

 



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *