/cn-tutor-prep-s5-ict-programming-python-loops/
/cn-tutor-prep-s5-ict-programming-python-loops/
简体版
2
一般查询: 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,免费登记,招生与配对交给平台。 了解详情 →