iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0
AI/ ML & Data

From Python Beginner To AI Engineer系列 第 14

可以做條件判斷嗎?

  • 分享至 

  • xImage
  •  

**條件判斷 (Condition)**是程式語言相當重要的能力,讓程式可以根據情況做出不一樣的事情。例如透過餘數除法來判斷一個整數是奇數或偶數,當一個整數除以 2 時的餘數,只會有 0 跟 1 兩個結果。若餘數為 1 則代表他是奇數,若餘數為 0 時則為偶數:

>>> a = 3
>>>
>>> if a % 2 == 1:
>>>     print(a, "是奇數")
>>> else:
>>>     print(a, "是偶數")
3 是奇數

ifelse 是構成條件判斷語法的關鍵字,在 if 後面有個條件式 a % 2 == 1,當這個條件式成立時,便會執行 if 區塊裡面的程式碼。若該條件式不成立,則執行 else 區塊裡面的程式碼。

在條件式裡面,用到了 == 這個符號,這在前面可能沒看過,與一個等號 = 不同,當有兩個等號 == 時,會被當作比較運算來用,代表判斷等號兩邊是否相等,在這裡解釋為 a % 2 的結果是否為 1

除了 == 相等判斷以外,還有:

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

這些比較運算可以用。

結合前面學的自訂函式,將條件判斷包裝起來:

>>> def f(a):
>>>     if a % 2 == 1:
>>>         print(a, "是奇數")
>>>     else:
>>>         print(a, "是偶數")
>>>
>>> f(0)
>>> f(1)
>>> f(2)
0 是偶數
1 是奇數
2 是偶數

有時可能不只要判斷一個條件,若有多個條件要判斷時,可以用 elif 關鍵字來構成多重判斷:

>>> def g(a):
>>>     if a < 10:
>>>         print(a, "小於 10")
>>>     elif a == 10:
>>>         print(a, "等於 10")
>>>     else:
>>>         print(a, "大於 10")
>>>
>>> g(7)
>>> g(10)
>>> g(13)
7 小於 10
10 等於 10
13 大於 10

自我練習

  1. 寫一個函式 discount(),輸入一個價格 price,若價格大於 300 元時打九折,回傳折扣後的價格。
  2. 承上題,追加第二個優惠條件是價格高於 700 元時打八折。

完整的程式碼放在此 Colab 裡面供各位參考。


上一篇
可以自己寫函式嗎?
下一篇
當迴圈遇見條件式
系列文
From Python Beginner To AI Engineer31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言