邏輯判斷式—if…elif…else

讓各位久等了!!!

今天,我們要介紹Python裡面非常好用的一個功能,邏輯判斷式if…elif…else。這就像是一層又一層的篩選器,如果只有一層篩選,我們可以只單用if。而若是我們的條件比較複雜,有好多層,則可以使用elif無限擴增,最後可用else當最後一層做結尾。

在這邊有兩件要注意的事情,第一,像我們迴圈單元所討論到的,請記得縮排,有縮排的部分,才會成為滿足條件後所執行的內容。第二,這個if…elif…else就像是層層篩選器,當滿足一個條件後,則會停止,不會繼續往下。

另外,先幫大家複習一下幾個常見的邏輯判斷語法:

  • 大於 >
  • 大於等於 >=
  • 小於 <
  • 小於等於 <=
  • 等於 ==
  • 不等於 !=

現在,讓我們一起來看看這個邏輯判斷式該如何使用吧!

(一) 建立單層邏輯判斷式

首先,我們先來看只有一層的簡單小例子。

在這個範例中,我們可以看到,在第一部分,因為x=5小於10,所以不滿足x>10的條件,故執行後沒反應。而在第二個部分x=5小於10,滿足x<10的條件,所以執行後出現’Yes’。

(二)多層邏輯判斷式

接下來,讓我們看看多層邏輯判斷式長什麼樣子!

在這個範例中,我們可以看到,變數會隨著層層不同的條件而執行不同的動作。

然而,值得注意的是,若x滿足兩個相同的條件,在這樣的語法架構中,程式僅會執行第一個滿足的條件,隨即停止。舉例如下:

在這樣個案例中,若我們想要所有滿足的條件都執行,該怎麼辦呢?

很簡單,都寫成if單式,就可以了!與先前架構的差異在於,這樣代表每個條件都落在第一層篩選,各自獨立,所以都會被判讀到!

(三) 判斷式與for loop

在迴圈的單元中,我們學會了如何用迴圈讓程式幫我們重複做同樣的事情。現在,我們將加入邏輯判斷式,讓迴圈的功能變得更加強大!

舉例來說,我們要判斷一組數列裡面的奇數偶數,可以用我們上個單元的for loop來呼叫數列裡的每個元素,再用邏輯判斷式來分辨奇數偶數。

註1. 在條件式中的”number %2″代表著number整除2的餘數
註2. 在print中的”%s”代表某個值,而這個值為字串後面的”% number”所對應的number,這是一種很好用的用法唷!

(四) 判斷式與while

首先,跟大家分享一個跟使用者互動的語法”input()”。只要使用input(),執行時對話框就會跑出需要使用者輸入內容的部分,如下圖所示。

當我們輸入後,我們所輸入的內容,就會被存放到這個變數裡。

現在,讓我們來一啟用while迴圈與判斷式,寫一個可以跟使用者對話的猜數字遊戲吧!

在input()前面加上int(),目的是為了把型態改成數字,這樣在if判斷式中才能跟答案比大小。

動手做做看,學習到現在,您已經有能力自己寫出一個猜數字遊戲了呢!很有趣吧!幫自己鼓鼓掌! 🙂

今天的內容,希望你會喜歡。學習程式上有什麼問題,都歡迎一起討論唷! 最後,提供上個單元的小作業參考答案給大家。讓我們一起前進吧!

Share

發佈留言

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