单元五
第19课 调试与常见报错

一、任务目标
对照常见报错信息定位原因,并改写成更稳妥、能正常运行的写法。
二、报错是朋友,不是敌人
1读最后一行错误类型 + 简短说明
2看行号回到对应代码行
3改一小步只改一处就再运行
4加 print输出中间变量核对
- NameError:变量名写错或还没赋值
- IndentationError:if/for/while/def 后面少缩进
- TypeError:例如字符串和数字乱运算
- KeyError:字典里没有这个键——先
in或用get
三、解题思路
任务:认识常见报错,并写出更稳妥的写法。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。
本课主要用到:屏幕输出。
- 1明确任务「认识常见报错,并写出更稳妥的写法。」:运行后你希望看到什么结果(文字、图形或计算结果)。
- 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
- 3对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。
流程示意(可对照左侧文字)
四、图形块功能讲解
本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。
五、知识点讲解
循环让某段步骤按次数或条件重复执行,避免手工复制很多遍。要想清两件事:重复什么?什么时候停?没有停止条件就会「转不停」。
先弄清本课输入与输出,再进编程练习对照现象。
六、编程练习
用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。
运行这段安全写法:int 转换与字典 get,对照报错课知识。
参考代码(对照抄写到下方 Mixly)
n = int("12")
print(n + 1)
data = {"a": 1}
print(data.get("b", 0))
正在载入编程环境
正在载入 Mixly 图形化编程环境…
七、课堂练习
选出你认为正确的一项,再点「检查」。
看到 NameError: name 'hp' is not defined,优先检查?
「获取输入」得到文字「3」要做数字比较,应?
调试时较稳妥的习惯是?
八、本节小结
会读报错就能独立修 bug。