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