/cn-tutor-prep-s5-ict-programming-python-basics/
/cn-tutor-prep-s5-ict-programming-python-basics/
简体版
2
一般查询: info@TutorZone.com.hk
办公时间: 星期一至六 - 上午 9 时至下午 6 时
WhatsApp 星期一至日 - 24 小时
人手接听: +852 6828 1809
实时客服: +852 9061 3106

DSE ICT|Python 程式基础:十节备课指引(变数、循环、函数、除错)

DSE ICT|Python 程式基础:十节备课指引(变数、循环、函数、除错)

  • 2026-11-05

学生看得明范例,但一开新档就写不出来,因为他们把程式当成“要背的语法”而不是“一步步的指令”。本课只做一件事:用 1 至 10 求和这条题,把变数、循环、函数三层依次加上去,令学生同一题由三行写到十行,并且每次改动都能讲出原因。

本堂目标 学生能够:(1) 用变数储存并更新一个累加值,讲出每一行执行后变数的值;(2) 用 for 循环配合 range 完成重复运算,并正确设定起点与终点;(3) 把重复逻辑包成函数,传入参数并取回结果,并用一个测试值验证。

01 先备知识(开课前 3 分钟快检)

以下任何一项未过关,本堂就会卡住,先补该项:

技能 快检题 过关标准
输入输出 print 与 input 分别做什么? 输出到萤幕/由键盘取字串
资料类型 input 取回的数字为何要转换? input 回传字串,要 int() 转整数
缩排 Python 用什么表示同一组指令? 缩排,通常是四个空格

02 课堂流程(45 分钟)

时间 环节 导师做什么 学生做什么
0-6 分钟 先读一段错的程式 投影一段跑错的求和程式,叫学生找错 学生指出至少一个错处
6-14 分钟 变数是一格一格的盒 用 total = total + i 逐格示范,写出每轮的值 学生手写三轮的 total 值
14-24 分钟 for 与 range 讲 range(1, 11) 为何是 1 到 10,起点包含、终点不包含 学生改写成 1 至 100 并核对 5050
24-32 分钟 包成函数 def total_to(n) 加 return,强调 return 与 print 的分别 学生把求和包成函数并呼叫一次
32-40 分钟 测试与除错 用 1、10、100 三个输入测试,其中一个故意失败 学生找出失败的那个并修正
40-45 分钟 离场检查 收回三题,只读答案 独立作答

03 讲解脚本(照着说就可以)

第一幕:由一段错的程式开场

不要由语法开始。投影一段五行的求和程式,里面有三个错:total 未初始化、range 写成 range(1, 10)、缩排少一格。叫学生两人一组找错,再把他们的发现写回黑板。
这样做的目的是令学生知道:程式设计大部分时间是找错,而不是由零开始写。找错能力一旦建立,他们就不再怕空白档案。

学生做:找出三个错处,并讲出每个错会导致什么后果。

第二幕:变数:一格一格的盒

在黑板上画一个方格写 total,然后逐轮更新:第 1 轮 total 由 0 变 1,第 2 轮由 1 变 3,第 3 轮由 3 变 6。要求学生自己写出第 10 轮的结果,答案是 55。
学生最常犯的错是把 total = total + i 读成数学等式。要讲清楚:右边先算,再放回左边的格。这个“先算后放”的讲法,比讲 assignment operator 有效得多。

学生做:填一张十行表,写出每轮 i 与 total 的值。

第三幕:for 与 range:起点包含、终点不包含

range(1, 11) 产生 1 到 10 十个数,这是学生最容易失分的地方,因为他们会写 range(1, 10) 而少了 10。用一行 print(list(range(1, 11))) 即场示范,把 10 个数印出来,比任何解释都清楚。
接着把题目由 1 至 10 改成 1 至 100,答案 5050,让学生自己按一次。同一条题目换一个数,学生就知道公式不是重点,流程才是。

学生做:改写成 1 至 100,并解释为何要写 101。

第四幕:包成函数:参数入、结果出

把求和逻辑包成 def total_to(n),里面用 range(1, n + 1),最后 return total。要强调两点:n + 1 是因为终点不包含;return 是把结果交出去,不是印出来。
示范 print(total_to(10)) 与 x = total_to(10) 的分别:后者可以再运算,前者只是显示。学生明白这一点之后,写后面的题目就不会把函数写成一大段 print。

学生做:把函数改写成可计算 1 至 n,并用 n = 10 验证得到 55。

第五幕:测试与除错:故意让它失败

给三个测试值:1、10、100,答案应该是 1、55、5050。然后把函数改成 range(1, n) 再跑一次,n = 10 会得到 45,正好少了 10。叫学生找出差额并解释原因。
这个“故意失败”的做法,令学生看见测试的价值:如果只测 n = 1,错的程式也会通过。这一节通常是整堂最安静、最专注的十分钟。

学生做:找出 45 与 55 的差,并用一句话写出原因。

04 必教题型与步骤

题型 例子 步骤 答案
填空 给程式缺一行,补上正确语句 先想资料流,再想语法 缩排与变数名都正确
追踪 给程式与输入,写出输出 逐行写变数值,不要心算 每一行都写,包括没变的
改错 程式中有一个逻辑错 先用小输入测,再定位 指出行号与原因
撰写 由题目描述写一个函数 定义输入、处理、输出三段 有 return,有测试值
合理性检查(一定要教):合理性检查:(1) 1 至 10 的和是 55,1 至 100 是 5050,这两个数要背下来当检查点;(2) 若程式跑出 45,即是少加了一次,通常是 range 终点写错;(3) 若跑出无限次输出,即是循环变数没有更新;(4) 若出现 TypeError,先查 input 是否未转 int;(5) 每个函数至少要用两个不同输入测过,才算完成。

05 独立练习三题

题目 答案 想观察什么
追踪 写出 1 至 10 求和程式每轮的 total 核对第 1、2、10 轮
改错 把 range(1, 10) 改成正确版本并解释 核对是否讲出终点不包含
撰写 写 total_to(n) 并用 n = 100 验证 核对回传 5050

06 学生常见错误与纠正句

错误 学生通常这样写 导师这样说
total 未初始化 直接写 total = total + i “total 第一轮仲未存在,你要先俾他一个 0。”
range 终点写错 写 range(1, 10) 少了 10 “你𠮶个答案少了 10,range 终点不包,所以要写 11。”
print 当 return 函数里只有 print,外层取不到值 “print 系显示,return 系交货,你要边样?”
缩排不一致 同一组指令一半四格一半两格 “呢两行看落一样,但 Python 当他们不同组,对齐他。”

07 家课建议(直接指到练习卷题号)

08 离场检查(最后 5 分钟)

题目 答案 判定
变数更新 先算右边,再放左边 讲不出就重做第二节
range 边界 起点包含、终点不包含 边界错就重做第三节
return 与 print return 交结果,print 只显示 混淆就重做第四节

09 导师常问

要背语法吗?

不用背全部,只需记住赋值、for、def、return 四种句式的样子。

用哪个版本?

Python 3 写法即可,考试不要求特定版本,但 input 一定要转型。

写不出来怎样办?

先用中文写三个步骤:输入、处理、输出,再逐句翻成程式。

立即免费找导师导师登记 →

本页为 TutorZone 导师备课指引,内容由 TutorZone 团队编写;题目与流程为原创,并非任何学校或出版社的教材。

招募导师及兴趣班教练|学术、乐器、体育、艺术、STEM,免费登记,招生与配对交给平台。 了解详情 →