基礎複習
語法講義
& 練習題庫
涵蓋輸入輸出、計算、迴圈的快速複習與實戰練習
語法講義
變數與資料型別
建立變數 — 不需要宣告型別
name = "小明" # str 字串
age = 18 # int 整數
height = 175.5 # float 浮點數
is_student = True # bool 布林值
型別轉換
int("42") # 字串 → 整數 → 42
float("3.14") # 字串 → 浮點數 → 3.14
str(100) # 整數 → 字串 → "100"
語法講義
print() 輸出
基本用法
print("Hello, World!")
print("我叫", name, ",今年", age, "歲") # 自動加空格
print(f"我叫{name},今年{age}歲") # f-string(推薦)
常用參數
print("A", "B", "C", sep="-") # 輸出:A-B-C
print("不換行", end="") # 不換行
print(f"成績:{88.6:.1f}") # 輸出:成績:88.6
語法講義
input() 輸入
讀取使用者輸入(永遠是 str)
name = input("請輸入姓名:") # 讀入字串
age = int(input("請輸入年齡:")) # 讀入後轉整數
price = float(input("價格:")) # 讀入後轉浮點數
注意
input() 回傳的永遠是字串!要做數學運算一定要先轉型。
語法講義
運算子速查
| 類型 | 運算子 | 範例 |
| 算術 | + - * / // % ** | 7 // 2 → 3,7 % 2 → 1,2 ** 3 → 8 |
| 比較 | == != > < >= <= | 5 > 3 → True |
| 邏輯 | and or not | True and False → False |
| 指派 | = += -= *= /= | x += 1 等同 x = x + 1 |
語法講義
if / elif / else 判斷
score = int(input("請輸入分數:"))
if score >= 90:
print("A 等級")
elif score >= 80:
print("B 等級")
elif score >= 70:
print("C 等級")
else:
print("需要加油")
重點
Python 用縮排(4 個空格)決定程式碼區塊,不用大括號 {}。
語法講義
for 迴圈
range() 產生數字序列
for i in range(5): # 0, 1, 2, 3, 4
print(i)
for i in range(1, 6): # 1, 2, 3, 4, 5
print(i)
for i in range(0, 10, 2): # 0, 2, 4, 6, 8(每次+2)
print(i)
遍歷字串
for ch in "Hello":
print(ch) # H e l l o(各印一行)
語法講義
while 迴圈
# 猜數字範例
import random
answer = random.randint(1, 10)
guess = 0
while guess != answer:
guess = int(input("猜一個 1~10 的數字:"))
if guess > answer:
print("太大了!")
elif guess < answer:
print("太小了!")
print("猜對了!")
break & continue
break 立即跳出迴圈;continue 跳過本次,進入下一輪。
選擇題 1
下列哪一行可以讀取整數?
選擇題 2
17 // 5 的結果是?
選擇題 3
17 % 5 的結果是?
選擇題 4
下列程式碼的輸出是什麼?
x = "3"
y = "5"
print(x + y)
選擇題 5
print(type(3.14)) 會輸出?
選擇題 6
下列程式碼的輸出是什麼?
for i in range(3):
print(i, end=" ")
選擇題 7
下列哪個是正確的 f-string?
選擇題 8
下列程式碼印出幾次 "Hi"?
count = 0
while count < 5:
print("Hi")
count += 1
選擇題 9
下列程式碼的輸出是什麼?
for i in range(1, 6):
if i == 3:
break
print(i, end=" ")
選擇題 10
下列程式碼的輸出是什麼?
for i in range(1, 6):
if i == 3:
continue
print(i, end=" ")
選擇題 11
下列程式碼的結果?
x = 10
if x > 5 and x < 15:
print("範圍內")
else:
print("超出範圍")
選擇題 12
下列哪個會造成無限迴圈?
練習題庫
動手寫寫看
從最簡單的輸入輸出開始,逐步挑戰計算和迴圈!
練習 1 — 輸入輸出
自我介紹
讀取使用者的姓名和年齡,印出一句自我介紹。
# 預期輸入:
請輸入姓名:小明
請輸入年齡:18
# 預期輸出:
大家好,我叫小明,今年18歲!
name = input("請輸入姓名:")
age = input("請輸入年齡:")
print(f"大家好,我叫{name},今年{age}歲!")
練習 2 — 輸入輸出
重複印出
讀取一個字串和次數,把字串重複印出。
# 預期輸入:
請輸入文字:Ha
請輸入次數:3
# 預期輸出:
HaHaHa
text = input("請輸入文字:")
n = int(input("請輸入次數:"))
print(text * n)
練習 3 — 輸入輸出
字串長度
讀取一個字串,印出它的長度。
# 預期輸入:
請輸入文字:Python
# 預期輸出:
"Python" 的長度是 6
text = input("請輸入文字:")
print(f'"{text}" 的長度是 {len(text)}')
練習 4 — 計算
BMI 計算機
讀取身高(公分)和體重(公斤),計算 BMI 並印出到小數第一位。
# 公式:BMI = 體重 / (身高公尺)²
# 預期輸入:
請輸入身高(cm):170
請輸入體重(kg):65
# 預期輸出:
你的 BMI 是 22.5
h = float(input("請輸入身高(cm):"))
w = float(input("請輸入體重(kg):"))
bmi = w / (h / 100) ** 2
print(f"你的 BMI 是 {bmi:.1f}")
練習 5 — 計算
溫度轉換
讀取攝氏溫度,轉換成華氏溫度。
# 公式:F = C × 9/5 + 32
# 預期輸入:
請輸入攝氏溫度:30
# 預期輸出:
華氏溫度為 86.0°F
c = float(input("請輸入攝氏溫度:"))
f = c * 9 / 5 + 32
print(f"華氏溫度為 {f:.1f}°F")
練習 6 — 計算
找零計算器
讀取商品價格和付款金額,計算應找零多少。若金額不足則提示。
# 預期輸入:
商品價格:75
付款金額:100
# 預期輸出:
應找零 25 元
price = int(input("商品價格:"))
paid = int(input("付款金額:"))
if paid >= price:
print(f"應找零 {paid - price} 元")
else:
print(f"金額不足,還差 {price - paid} 元")
練習 7 — 計算
成績等第
讀取分數,判斷等第:90+ → A、80+ → B、70+ → C、60+ → D、否則 F。
# 預期輸入:
請輸入成績:85
# 預期輸出:
成績等第:B
score = int(input("請輸入成績:"))
if score >= 90:
grade = "A"
elif score >= 80:
grade = "B"
elif score >= 70:
grade = "C"
elif score >= 60:
grade = "D"
else:
grade = "F"
print(f"成績等第:{grade}")
練習 8 — 迴圈
1 加到 N
讀取整數 N,計算 1 + 2 + 3 + ... + N 的總和。
# 預期輸入:
請輸入 N:100
# 預期輸出:
1 到 100 的總和是 5050
n = int(input("請輸入 N:"))
total = 0
for i in range(1, n + 1):
total += i
print(f"1 到 {n} 的總和是 {total}")
練習 9 — 迴圈
九九乘法表(指定段)
讀取一個數字 N,印出九九乘法表的第 N 段。
# 預期輸入:
請輸入要查詢的段數:7
# 預期輸出:
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 9 = 63
n = int(input("請輸入要查詢的段數:"))
for i in range(1, 10):
print(f"{n} x {i} = {n * i}")
練習 10 — 迴圈
偶數加總
讀取整數 N,計算 1 到 N 之間所有偶數的總和。
# 預期輸入:
請輸入 N:10
# 預期輸出:
1 到 10 的偶數總和是 30
n = int(input("請輸入 N:"))
total = 0
for i in range(1, n + 1):
if i % 2 == 0:
total += i
print(f"1 到 {n} 的偶數總和是 {total}")
練習 11 — 迴圈
星星三角形
讀取整數 N,印出 N 層的直角三角形。
# 預期輸入:
請輸入層數:5
# 預期輸出:
*
**
***
****
*****
n = int(input("請輸入層數:"))
for i in range(1, n + 1):
print("*" * i)
練習 12 — 迴圈
倒數計時
讀取整數 N,從 N 倒數到 1,最後印出「發射!」。
# 預期輸入:
倒數開始:5
# 預期輸出:
5
4
3
2
1
發射!
n = int(input("倒數開始:"))
for i in range(n, 0, -1):
print(i)
print("發射!")
練習 13 — 迴圈
密碼驗證
設定密碼為 "python123",讓使用者最多嘗試 3 次。
# 預期輸入(錯誤情境):
請輸入密碼:abc → 密碼錯誤,剩餘 2 次
請輸入密碼:123 → 密碼錯誤,剩餘 1 次
請輸入密碼:xxx → 帳號已鎖定!
# 預期輸入(正確情境):
請輸入密碼:python123 → 登入成功!
password = "python123"
for i in range(3):
guess = input("請輸入密碼:")
if guess == password:
print("登入成功!")
break
else:
remaining = 2 - i
if remaining > 0:
print(f"密碼錯誤,剩餘 {remaining} 次")
else:
print("帳號已鎖定!")
複習完成!
語法講義可以隨時回來翻閱,練習題建議在 Playground 實際跑看看!