第一堂課我們建立了程式設計的核心地基:
- 變數:用名字存資料(
age = 25) - if/else:讓程式做決定(
if age >= 18: ...) - while 迴圈:重複執行直到條件不成立
- 綜合實作:猜數字遊戲
如果你對這些還不熟,建議先回去複習第一堂課再回來。準備好了嗎?我們往下走!
第一堂課我們建立了程式設計的核心地基:
age = 25)if age >= 18: ...)如果你對這些還不熟,建議先回去複習第一堂課再回來。準備好了嗎?我們往下走!
問題來了:如果你要存全班 30 個人的成績,需要宣告 30 個變數嗎?
score1 = 85、score2 = 92、score3 = 78⋯⋯太累了!
清單(list)就是一個可以放很多東西的容器。用中括號 [ ] 包住,逗號分隔:
scores = [85, 92, 78, 95, 88]
# 拿取單一元素(從 0 開始數!)
print(scores[0]) # 85(第一個)
print(scores[2]) # 78(第三個)
# 新增元素
scores.append(90) # 加在最後面
# 看有幾個元素
print(len(scores)) # 6
scores[0] 是第一個,scores[1] 是第二個。這是初學者最容易錯的地方!清單可以放任何東西:數字、字串、甚至另一個清單:
menu = ["珍珠奶茶", "雞排", "大腸包小腸"]
print(menu[1]) # 雞排
mixed = [3.14, "哈囉", True, [1,2,3]]
print(mixed[3][0]) # 1(清單中的清單)
第一堂課學了 while 迴圈,現在來學更常用的 for 迴圈。for 的邏輯是:「對清單中的每一項,做某件事」。
fruits = ["🍎 蘋果", "🍌 香蕉", "🍇 葡萄"]
for fruit in fruits:
print(f"我喜歡吃 {fruit}")
# 輸出:
# 我喜歡吃 🍎 蘋果
# 我喜歡吃 🍌 香蕉
# 我喜歡吃 🍇 葡萄
for + range():想跑固定次數時,用 range():
# range(5) 會產生 0,1,2,3,4(共 5 個數字)
for i in range(5):
print(f"第 {i+1} 次說哈囉!")
# 計算總分
scores = [85, 92, 78, 95, 88]
total = 0
for s in scores:
total = total + s
print(f"總分:{total},平均:{total / len(scores)}")
while:不知道要跑幾次時(如「猜到對為止」)for:知道要跑幾次時(如「跑完這個清單的每一項」)想像你寫了一個「計算 BMI」的程式碼,今天要用、明天要用、後天也要用。每次重寫嗎?太笨了!
函式(function)就是把一段程式碼打包起來,取一個名字,之後叫名字就能重複使用:
# 定義函式
def say_hello():
print("哈囉!歡迎來到程式學習!")
# 呼叫函式
say_hello() # 哈囉!歡迎來到程式學習!
say_hello() # 哈囉!歡迎來到程式學習!
帶參數的函式:讓函式更靈活:
def greet(name):
print(f"哈囉 {name},今天過得如何?")
greet("丁丁") # 哈囉 丁丁,今天過得如何?
greet("小美") # 哈囉 小美,今天過得如何?
def bmi(height_m, weight_kg):
bmi_value = weight_kg / (height_m ** 2)
return round(bmi_value, 1)
print(bmi(1.75, 70)) # 22.9
return 是把計算結果「吐出來」給外面用。沒有 return 的函式會回傳 None(空)。
calculate_bmi() 一看就知道在幹嘛結合清單 + for 迴圈 + 函式,寫一個簡易記帳機:
# 簡易記帳機
expenses = [] # 空的支出清單
def add_expense(item, amount):
"""新增一筆支出"""
expenses.append({"項目": item, "金額": amount})
print(f"✅ 已記錄:{item} ${amount}")
def show_report():
"""顯示記帳報告"""
if len(expenses) == 0:
print("📭 目前沒有任何支出記錄")
return
print("\n📊 ====== 記帳報告 ======")
total = 0
for i, e in enumerate(expenses):
print(f" {i+1}. {e['項目']}: ${e['金額']}")
total = total + e['金額']
print(f" ──────────────")
print(f" 💰 總支出: ${total}")
print(f" 📌 共 {len(expenses)} 筆記錄")
# 使用
add_expense("珍珠奶茶", 55)
add_expense("雞排", 80)
add_expense("電影票", 320)
show_report()
執行結果:
✅ 已記錄:珍珠奶茶 $55
✅ 已記錄:雞排 $80
✅ 已記錄:電影票 $320
📊 ====== 記帳報告 ======
1. 珍珠奶茶: $55
2. 雞排: $80
3. 電影票: $320
──────────────
💰 總支出: $455
📌 共 3 筆記錄
expenses = [] 存多筆資料def add_expense() 打包邏輯{"項目": ..., "金額": ...} 存結構化資料fruits = ["蘋果", "香蕉", "葡萄"],請問 fruits[1] 的值是什麼?for i in range(3): 這個迴圈會執行幾次?def 關鍵字的作用是什麼?len([10, 20, 30, 40]) 的結果是?清單 list(一次存多筆)→ for 迴圈(優雅遍歷)→ 函式 def(打包重複邏輯)→ 綜合實作(簡易記帳機)
加上第一堂課的變數 + if/else + while,你已經掌握了程式設計六成的核心工具。接下來第三堂課,我們會學更進階的資料結構與檔案操作!