第三天: IF 條件判斷式:讓程式碼學會思考
歡迎來到我的從 Python 基礎到 Vibe Coding 遊戲開發:我的奇幻旅程的第三天。在昨天,我們深入探索了 Python 變數與資料型態的奧秘。今天,我們將學習如何讓程式碼擁有「思考」的能力,這就要用到 Python 中非常重要的 IF 條件判斷式!
布林值 (bool):程式碼的是非題
在進入條件判斷之前,我們首先要認識一種常用的資料型態:bool (Boolean),中文稱為「布林值」。布林值只有兩種可能:True (是/真) 或 False (否/假)。您可以將它想像成學校裡的是非題,答案不是「對」就是「錯」。
布林值經常用於表示某個條件是否成立。要產生布林值,我們會用到比較運算子:
• > (大於)
• < (小於)
• == (等於):請注意,這裡使用 兩個等於符號,因為一個等於符號 = 是用來賦值給變數的。
• != (不等於)
讓我們看一些例子:
steak_price = 500
pork_chop_price = 450
# 判斷牛排價格是否比豬排高
is_steak_more_expensive = steak_price > pork_chop_price
print(f"牛排比豬排貴嗎? {is_steak_more_expensive}") # 輸出: True
# 判斷牛排價格是否等於豬排價格
are_prices_equal = steak_price == pork_chop_price
print(f"牛排和豬排價格一樣嗎? {are_prices_equal}") # 輸出: False
# 判斷牛排價格是否不等於豬排價格
are_prices_different = steak_price != pork_chop_price
print(f"牛排和豬排價格不一樣嗎? {are_prices_different}") # 輸出: True
邏輯運算子:組合多個條件
當我們需要同時判斷多個條件時,會用到 邏輯運算子:not、and 和 or。
• not (非/反轉):它的作用是反轉布林值。如果條件原本為 True,加上 not 後就變成 False;反之亦然。
• and (且):當所有條件都必須為 True 時,最終結果才會是 True。只要有一個條件為 False,結果就會是 False。
• or (或):只要其中一個條件為 True,最終結果就會是 True。它比 and 寬鬆許多。
IF 條件判斷式:讓程式碼做出決策
現在,我們將布林值和邏輯運算子應用到 If 條件判斷式中,讓程式碼可以根據條件做出不同的決策。If 語法的基本結構是:當條件「成立」(True) 時執行某個動作,而條件「不成立」(False) 時執行另一個動作。
• If-Else 結構:
• elif (Else If) 結構:當有多個條件需要依序判斷時,我們可以使用 elif。
互動式應用:點餐系統與大小寫處理
讓我們結合昨天的 input() 語法,來製作一個互動式的點餐系統:
print("歡迎光臨!")
print("A. 牛排 (500元)")
print("B. 豬排 (450元)")
print("C. 魚排 (400元)")
choice = input("請輸入您的選擇 (A/B/C): ")
# 處理大小寫問題:使用 .upper() 將輸入轉換為大寫 ****
if choice.upper() == "A": # 將使用者輸入轉換為大寫再比較
print("您選擇了牛排,價格是 500 元。")
elif choice.upper() == "B":
print("您選擇了豬排,價格是 450 元。")
elif choice.upper() == "C":
print("您選擇了魚排,價格是 400 元。")
else:
print("無效的選擇,請重新輸入。")
在這個例子中,我們使用了 .upper() 語法。這是非常實用的字串方法,它可以將使用者輸入的字母一律轉換為大寫,這樣無論使用者輸入的是 a 還是 A,程式都能正確判斷,避免因大小寫不同而導致錯誤。
縮排的重要性
最後,請您務必注意 If、elif 和 else 後方程式碼的 縮排。在 Python 中,縮排 不僅是為了增加程式碼的易讀性,它更是 Python 語法結構的一部分,用來界定程式碼區塊。如果縮排不正確,Python 將無法識別這些指令屬於哪個條件判斷式,進而導致程式執行錯誤。
恭喜您,今天我們學習了布林值、比較與邏輯運算子,以及 If 條件判斷式,這些是讓程式碼「思考」和做出決策的關鍵。在接下來的旅程中,我們將學習如何高效地管理多筆資料,下次再見!