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

DSE ICT|Python 迴圈與條件判斷備課指引(導師用)|追蹤表、三類題型與四個常見錯誤

DSE ICT|Python 迴圈與條件判斷備課指引(導師用)|追蹤表、三類題型與四個常見錯誤

  • 2026-11-10

學生寫得出 for i in range(5),但一問「迴圈執行完之後 i 是多少」就靠猜。問題不在語法,而在他們從來沒有把執行過程寫下來。這一堂只做一件事:把追蹤表變成每次答題的第一步,讓迴圈由「背寫法」變成「看得見的流程」。

本堂目標 學生能夠:① 由 range 的三個參數講出迴圈的起始值、終止條件與執行次數;② 用追蹤表逐行記錄變數值,答出迴圈結束後每個變數的結果;③ 分辨 for 與 while 的使用時機,並寫出 while 的退出條件與最少一次的邊界測試。

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

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

技能 快檢題 過關標準
變數與賦值 執行 x = 3 之後再 x = x + 2,x 是多少 5,賦值是覆蓋不是累加
比較運算 10 % 3 和 10 // 3 各是多少 1 與 3,一個取餘一個取整
縮排概念 Python 靠什麼界定哪幾行屬於迴圈 縮排層級,不是大括號

02 課堂流程(60 分鐘)

時間 環節 導師做什麼 學生做什麼
0–6 分 開場三問 給一個三行迴圈,問它印幾次、最後 i 是多少 先寫下答案,稍後對照
6–18 分 range 三段 start、stop、step 逐個改,學生報次數 口頭報次數再寫程式
18–32 分 追蹤表 示範逐行記錄 i、total、條件 同一段程式自己填一張表
32–44 分 while 與退出條件 把同一件事改成 while,示範條件何時變假 改寫並補一次邊界測試
44–56 分 真題三類 輸出題、填空題、除錯題各走一次 獨立做一題並自評
56–60 分 離場檢查 兩題收回即批,錯的標明跌在邊界還是狀態 獨立完成

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

第一幕:range 不是「做幾次」,是「由邊界行到邊界」

學生把 range(5) 讀成「做五次」,於是 range(1, 5) 也讀成五次;一改 step 就全錯。正確講法是三段:起點、終點(不含)、步長。黑板上寫 range(a, b, s),要求學生每次先講「由 a 開始,a + s 一路加,加到不小於 b 為止」,然後才數次數。再給三個對照:range(1, 6) 與 range(6) 輸出相同但邊界不同;range(5, 0, -1) 是倒數;range(0, 10, 3) 只行四次。次數一律用 (b – a + s – 1) // s 算,學生自己用算術核對,不靠感覺。

要學生做:把三個 range 的起點、終點、步長、次數寫成四格表,再跑一次核對。

第二幕:追蹤表:一行程式一行記錄,不許跳行

答「迴圈跑完 total 是多少」這類題,學生多數在腦裡跑,跑到第三圈就亂。做法固定成三欄:行號、這行之後各變數的值、判斷結果。示範時導師只讀程式碼、不講結果,由學生填表;填完才對答案。凡有 if 在迴圈內,條件成立與否都要寫入該行,因為漏寫條件就等於漏了一次分支。追蹤表另一個作用是把「印幾次」變成可數:表的行數就是輸出次數,學生不用再猜。

要學生做:為 total = 0 之後 for i in range(1, 6): total = total + i 填一張六行表,並寫出最後 total。

第三幕:while:先寫退出條件,再寫內容

while 的錯誤九成不是語法而是「永遠真」。教法是倒過來寫:先在紙上寫「我幾時要停」,寫成一個可測試的條件,再寫迴圈內容,最後才寫更新語句。更新語句必須在圈內而且會令條件趋向假,這一句要學生口頭指出來。之後補兩個邊界測試:條件一開始就假(執行零次)、條件第一次真(執行一次)。零次那一題最多人錯,因為他們假設迴圈至少行一次。
最後才比較:次數已知用 for,次數未知或要等某個狀態出現才用 while。

要學生做:用 while 寫出「一直讀入數字,直到輸入 0 為止」的骨架,並講出零次的情況何時發生。

04 必教題型與步驟

題型 例子 步驟 答案
輸出題 寫出程式跑完後的輸出 先填追蹤表,再抄表上印出的行 行數要等於表內有輸出的行數
填空題 補上 range 的參數 由次數反推 (b – a + s – 1) // s 代回原式核對次數與邊界
除錯題 程式不停或結果錯 先找更新語句,再找縮排,最後找條件方向 改一個地方要講出為何會修好
狀態題 問迴圈結束後某變數的值 填到最後一行,抄變數欄 答案要跟表一致,不可另寫一個數
合理性檢查(一定要教):合理性檢查:全堂只有一個工具(追蹤表),因為學生缺的是流程記錄不是語法知識;每個 range 都要用算術核對次數,避免靠記憶;while 必教零次邊界,否則學生在真題的邊界測試上全失分;示範時導師不講結果,只讀程式碼,學生才被迫自己跑一次。

05 獨立練習三題

題目 答案 想觀察什麼
邊界四格 三個 range 寫出起點、終點、步長、次數 看有無把 range(5, 0, -1) 的次數算成六次
追蹤表 為含 if 的六行迴圈填表並寫最終輸出 看有無漏寫條件欄
while 改寫 把 for 版本改成 while,並寫出零次情況 看更新語句是否在圈內

06 學生常見錯誤與糾正句

錯誤 學生通常這樣寫 導師這樣說
range 終點當包含 range(1, 5) 當成行五次 「終點係『去到就停』,你自己數:1、2、3、4,第五次由邊度嚟?」
追蹤表跳行 只記 total 不記 i,答案對不上 「你冇記 i,咁第二次 total 加咗邊個數?補返嗰行。」
while 沒有更新 條件永遠真,程式不停 「邊一句會令呢個條件有一日變假?圈內搵唔到就係死循環。」
假設迴圈至少行一次 while 條件一開始就假仍答「行一次」 「條件未入圈已經假,圈內邊一句有機會執行?答零次。」

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

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

題目 答案 判定
range 三段 起點、終點(不含)、步長 漏一段=回到第一幕
追蹤表三欄 行號、變數值、判斷結果 講不出三欄=重講第二幕
while 退出條件 先寫停的條件,再寫圈內更新 答「睇情況」=回到第三幕

09 導師常問

要學生背次數公式嗎?

不必背,但要會用算術核對;公式寫在黑板上,答題時自己代一次。

Python 以外的語言要教嗎?

DSE ICT 以概念為主,偽代碼同樣要練追蹤表,語法差異一分鐘講完就夠。

學生底子弱,先教 for 定 while?

先 for,因為次數已知、邊界清楚;while 等 for 穩了再加,否則兩個一齊亂。

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

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

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