🐍 Python 語法判斷實務指南
這個指南將涵蓋在 Python 程式語言中判斷不同語法結構的實務步驟、細節、案例,以及如何撰寫提示詞(Prompt)來生成這些案例。
📝 判斷結構一:條件判斷式 (if-elif-else)
條件判斷式允許程式根據不同的條件執行不同的程式碼區塊。
📌 步驟詳解
定義條件(
if): 使用if關鍵字,後接一個 布林表達式(Boolean Expression)。如果這個表達式評估為True,則執行if區塊內的程式碼。定義次要條件(
elif): 使用elif(else if的縮寫)關鍵字,後接另一個布林表達式。只有當上方的if或elif條件都評估為False時,才會檢查這個elif條件。定義預設情況(
else): 使用else關鍵字。它不需要任何條件,會在所有上方的if和elif條件都評估為False時執行。注意縮排: 每個條件後面的程式碼區塊必須使用縮排(通常是 4 個空格)來表示它們屬於該條件結構。
💡 案例分析 (3 個)
案例 1:判斷成績等級
目的: 根據分數 (
score) 判斷等級(A、B、C 或不及格)。細節講解:
if score >= 90:檢查最高條件。elif score >= 80:只有在分數小於 90 時才檢查是否大於或等於 80。elif score >= 60:只有在分數小於 80 時才檢查是否大於或等於 60。else:處理所有小於 60 的情況。
程式碼:
Pythonscore = 85 if score >= 90: print("A") elif score >= 80: print("B") elif score >= 60: print("C") else: print("Fail") # 輸出: B
案例 2:判斷數字奇偶性
目的: 判斷一個數字 (
number) 是正數、負數還是零,並進一步判斷其奇偶性。細節講解:
巢狀結構: 在外層
if判斷是正數後,內層使用number % 2 == 0(取餘數)來判斷奇偶性。elif number < 0:獨立處理負數。else:處理number == 0的情況。
程式碼:
Pythonnumber = -10 if number > 0: if number % 2 == 0: print("Positive and Even") else: print("Positive and Odd") elif number < 0: print("Negative") # 輸出: Negative else: print("Zero")
案例 3:判斷多個條件的組合
目的: 判斷使用者是否為成年且具有有效證件。
細節講解:
使用邏輯運算子
and來組合多個條件:age >= 18 and has_id == True。只有兩邊都為True時,整個條件才成立。elif age < 18 and has_id == True:處理未成年但有證件的邊界情況。
程式碼:
Pythonage = 22 has_id = True if age >= 18 and has_id == True: print("Access Granted") # 輸出: Access Granted elif age < 18: print("Underage") else: print("ID Required")
💡 提示詞 (Prompt) 範例
Prompt 範例:
Python 語法:條件判斷式
請生成一個包含 3 個 獨立案例的
if-elif-else結構程式碼。這 3 個案例需涵蓋以下情境:
判斷一個年份是否為閏年(可被 400 整除,或可被 4 整除但不能被 100 整除)。
根據一天中的**時間(小時)**輸出「早上好」、「下午好」或「晚上好」。
使用巢狀 if 來判斷一個數字是否在範圍 10 到 50 之間且為偶數。
🔁 判斷結構二:for 迴圈
for 迴圈用於對一個可迭代物件(Iterable,如列表、字串、範圍等)中的所有元素進行迭代。
📌 步驟詳解
定義疊代器: 使用
for關鍵字,後接一個迴圈變數(Loop Variable,用於接收當前元素)。定義可迭代物件: 使用
in關鍵字,後接你想要遍歷的集合。執行程式碼區塊: 迴圈每跑一次,都會執行縮排內的程式碼區塊。
常用範圍生成: 常用
range(start, stop, step)函式來生成一個數字序列進行迭代。
💡 案例分析 (3 個)
案例 1:遍歷列表(List)
目的: 遍歷水果列表 (
fruits) 並印出每個水果的名稱。細節講解: 迴圈變數
fruit會依序被賦予列表中的元素值 ("apple","banana","cherry")。程式碼:
Pythonfruits = ["apple", "banana", "cherry"] for fruit in fruits: print(f"I like {fruit}") # 輸出: I like apple, I like banana, I like cherry
案例 2:使用 range() 進行計數
目的: 計算 1 到 5 的總和。
細節講解:
range(1, 6)會生成一個包含 $1, 2, 3, 4, 5$ 的序列。total += i是total = total + i的縮寫。程式碼:
Pythontotal = 0 for i in range(1, 6): total += i print(f"Total: {total}") # 輸出: Total: 15
案例 3:遍歷字串並使用 break
目的: 遍歷一個字串 (
text),但在遇到特定字元時停止。細節講解:
字串也是一個可迭代物件,
char會是字串中的每一個字母。當
if char == 'o':條件成立時,執行break關鍵字,它會立即終止整個迴圈的執行。
程式碼:
Pythontext = "programming" for char in text: if char == 'o': break print(char) # 輸出: p, r, g
💡 提示詞 (Prompt) 範例
Prompt 範例:
Python 語法:for 迴圈
請生成一個包含 3 個 獨立案例的
for迴圈程式碼。這 3 個案例需涵蓋以下情境:
使用
range()函式以步長 2 遍歷 $0$ 到 $10$(不包含 $10$),並印出數字。遍歷一個包含五個元素的字典(Dictionary),並同時印出 鍵 (key) 和 值 (value)。
遍歷一個數字列表,並使用
continue關鍵字跳過所有小於 50 的數字,只印出大於等於 50 的數字。
🔄 判斷結構三:while 迴圈
while 迴圈會在給定的條件評估為 True 時,重複執行程式碼區塊,直到條件評估為 False。
📌 步驟詳解
初始化變數: 在迴圈開始前,必須先初始化一個或多個用於控制迴圈的變數。
定義條件: 使用
while關鍵字,後接一個布林表達式。更新變數: 在迴圈區塊內,必須包含能使條件最終變為
False的語句(通常是對控制變數進行更新),否則將導致無限迴圈(Infinite Loop)。注意縮排: 執行區塊必須使用縮排。
💡 案例分析 (3 個)
案例 1:簡單計數器
目的: 從 1 數到 5。
細節講解:
初始化
count = 1。條件
count <= 5只要為True就繼續執行。更新:
count += 1是防止無限迴圈的關鍵步驟。
程式碼:
Pythoncount = 1 while count <= 5: print(count) count += 1 # 輸出: 1, 2, 3, 4, 5
案例 2:使用者輸入控制迴圈
目的: 提示使用者輸入一個正數,直到輸入符合要求。
細節講解:
初始化
number = 0。條件
number <= 0讓迴圈在輸入值為零或負數時持續執行。一旦輸入一個正數(例如 10),條件變為
10 <= 0($\text{False}$),迴圈終止。
程式碼:
Pythonnumber = 0 while number <= 0: try: number = int(input("Enter a positive number: ")) except ValueError: print("Invalid input. Try again.") print(f"You entered: {number}")
案例 3:使用布林旗標和 break
目的: 模擬一個隨機事件,直到特定條件達成後停止。
細節講解:
使用
flag = True作為控制變數,條件為while flag:。當隨機數
random_number等於 5 時,印出訊息並執行break立即終止迴圈。
程式碼:
Pythonimport random flag = True while flag: random_number = random.randint(1, 10) print(f"Current number: {random_number}") if random_number == 5: print("Found 5! Stopping.") break # 輸出會不同,直到遇到 5,例如: Current number: 8, Current number: 5, Found 5! Stopping.
💡 提示詞 (Prompt) 範例
Prompt 範例:
Python 語法:while 迴圈
請生成一個包含 3 個 獨立案例的
while迴圈程式碼。這 3 個案例需涵蓋以下情境:
使用
while迴圈計算 $1$ 到 $n$ (n=4) 的階乘(Factorial)。使用
while True:創建一個無限迴圈,並透過使用者輸入特定退出指令(例如'quit')來使用break終止迴圈。使用
while迴圈將一個數字 $12345$ 反轉(Reverse),即得到 $54321$。
留言
張貼留言