/tutor-prep-s4-ict-python-programming/
/tutor-prep-s4-ict-python-programming/
一般查詢: info@TutorZone.com.hk
辦公時間: 星期一至六 - 上午 9 時至下午 6 時
WhatsApp 星期一至日 - 24 小時
人手接聽: +852 6828 1809
即時客服: +852 9061 3106

DSE ICT|程式編寫 備課指引(導師用)|由 for 迴圈算出 1 至 100 之和

DSE ICT|程式編寫 備課指引(導師用)|由 for 迴圈算出 1 至 100 之和

  • 2026-11-03

學生看示範個個明白,自己一寫就漏冒號、漏縮排、把 = 當成比較。這一堂只練三件事:變數要追蹤、選擇要守條件、迴圈要數清次數,最後用 1 至 100 之和 5050 這條題目把三者串起來。

本堂目標 學生能夠:① 寫出 for 迴圈累加 1 至 100 得 5050,並用 n(n+1)/2 驗算;② 用 if / elif 為 [45, 52, 68, 39, 71] 判等級並數出 3 個及格;③ 算出平均值 55.0;④ 講出 range(3) 得 0、1、2 而非 1、2、3,並解釋縮排決定迴圈範圍。

01 先備知識(開課前 3 分鐘快檢)

以下任何一項未過關,本堂就會卡住,先補該項:

技能 快檢題 過關標準
變數 x = 5 之後 x = x + 1,x 是多少? 6
比較運算 == 與 = 有什麼分別? 一個比較,一個賦值
整數除法 7 // 2 是多少? 3
輸出 print(3 + 4) 會顯示什麼? 7

02 課堂流程(60 分鐘)

時間 環節 導師做什麼 學生做什麼
0–8 分 開場 問:點樣叫電腦加 1 到 100? 講出逐個加與公式兩條路
8–20 分 變數與順序 累加器 total = 0 開始 自己寫出三行累加
20–32 分 選擇結構 用 if / elif 判等級 自己補上所有冒號
32–44 分 迴圈 for 與 range 的邊界 自己講出 range(1,101) 的原因
44–52 分 函數與除錯 把平均寫成函數 自己找出縮排錯
52–60 分 獨立練習 三題限時 8 分鐘 做完對答案並標錯因

03 講解腳本(照著說就可以)

第一幕:先追一次變數,再寫第二行

累加器一定要先設 total = 0,然後在迴圈內 total = total + i。學生最容易漏掉初始化,於是出現 NameError,或者把初始化寫進迴圈令答案永遠等於最後一個數。教法:每一輪要學生在紙上寫出 i、total 兩個格,跑三次才准打鍵盤。這個習慣一建立,之後所有累加、計數、找最大值都用同一招。

要學生在紙上追三次迴圈,寫出 i 與 total 的每一輪數值。

第二幕:range 的右邊界不入數,縮排決定誰在迴圈內

range(1, 101) 才包含 100,寫 range(1, 100) 只得 4950。縮排則是第二把刀:縮排一次在迴圈內,不縮排在迴圈後。學生寫完總會問「為何總和只得最後一個數」,答案永遠是縮排位置。示範時故意把 print 拉出迴圈再拉回去,讓學生看輸出變化,比講十次規則有效。

要學生講出 range(1, 100) 的總和是多少,並解釋為何不是 5050。

第三幕:用公式驗證迴圈,用測試驗證選擇

5050 這條題目好在有第二條路:n(n+1)/2 得 5050,兩條路答案相同就代表迴圈寫對。選擇結構則靠測試案例:45 應為不及格、52 及格、71 良好,三個都對才叫完成。要學生養成一個反射——寫完先想「我點知它對」,這一步就是 DSE 卷程式的除錯分。

要學生用公式算出 100 的和,並用一個測試案例證明 if 寫對。

04 必教題型與步驟

題型 例子 步驟 答案
累加題 1 至 100 之和 ① total = 0 ② for i in range(1,101) ③ total += i 5050
選擇結構題 把分數轉等級 ① 由高到低排條件 ② 每行補冒號 ③ 用測試案例驗 71 為良好
計數題 數出 [45,52,68,39,71] 幾個及格 ① count = 0 ② if m >= 50 才加 ③ 印出 count 3 個
平均值題 五個分數的平均 ① sum 累加 ② 除 len ③ 保留一位小數 55.0
合理性檢查(一定要教):數量級檢查:1 至 100 之和一定大於 100 而小於 10000,答 100 代表迴圈只跑一次,答 4950 代表漏了 100。平均值一定落在最低分 39 與最高分 71 之間,答 275 就是忘記除。次數檢查:計數器的值不可能大於列表長度 5,答 6 就是條件寫成 > 或把 else 也加了。

05 獨立練習三題

題目 答案 想觀察什麼
1 至 20 之中所有偶數之和 110 有無用 x % 2 == 0 篩選
range(3) 會產生哪幾個數? 0、1、2 有無以為由 1 開始
[45,52,68,39,71] 之中及格(≥50)人數 3 個 有無把 50 分算及格

06 學生常見錯誤與糾正句

錯誤 學生通常這樣寫 導師這樣說
把 = 當比較 「if mark = 50: 就會判斷」 「單等號是賦值,電腦會直接把 50 塞入 mark;要比較就要雙等號 ==。」
縮排錯位 「print(total) 放喺迴圈外面都一樣」 「放外面只印最後一次結果;你原本想看每一輪,就要留在迴圈內。」
range 邊界 「range(1, 100) 會加到 100」 「range 右邊界不入數,你少了 100 這個數,所以總和是 4950。」
忘記初始化累加器 「total = total + i 直接開始」 「total 未定義就加,電腦不知道由幾開始;先寫 total = 0,這一格就是你的起點。」

07 家課建議(直接指到練習卷題號)

08 離場檢查(最後 5 分鐘)

題目 答案 判定
1 至 100 之和 5050 錯:漏了 100 得 4950
range(3) 產生的數 0、1、2 錯:以為是 1、2、3
五個分數 45、52、68、39、71 的平均 55.0 錯:忘記除數目
及格(≥50)人數 3 個 錯:把 50 當不及格

09 導師常問

for 與 while 幾時用邊個?

次數已知就用 for,次數未知、要靠條件停就用 while;兩者都可以互換,但用對會令程式更易讀。

為何 Python 用縮排而不是大括號?

縮排本身就是語法,代表程式區塊;縮排亂了程式就錯,所以編輯器要用固定四個空格,不要混用 tab。

DSE 卷會考哪種語言?

課程要求以偽代碼或高階語言表達邏輯,學校多用 Python;答題時寫清楚輸入、處理、輸出三步就夠。

立即免費搵導師導師登記 →

本頁為 TutorZone 導師備課指引,內容由 TutorZone 團隊編寫;題目與流程為原創,並非任何學校或出版社的教材。

招募導師及興趣班教練|學術、樂器、體育、藝術、STEM,免費登記,招生與配對交給平台。 了解詳情 →