← 返回大綱
基礎複習

語法講義
& 練習題庫

涵蓋輸入輸出、計算、迴圈的快速複習與實戰練習

語法講義

變數與資料型別

建立變數 — 不需要宣告型別

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 → 37 % 2 → 12 ** 3 → 8
比較== != > < >= <=5 > 3 → True
邏輯and or notTrue 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 實際跑看看!

選擇題:0 對 / 0