单元五

第19课 调试与常见报错

任务场景:读报错定位并改一小步
任务场景:读报错定位并改一小步
原理图:调试——读报错、定位、改一小步再运行
原理图:调试——读报错、定位、改一小步再运行

一、任务目标

对照常见报错信息定位原因,并改写成更稳妥、能正常运行的写法。

二、报错是朋友,不是敌人

1读最后一行错误类型 + 简短说明
2看行号回到对应代码行
3改一小步只改一处就再运行
4加 print输出中间变量核对
  • NameError:变量名写错或还没赋值
  • IndentationError:if/for/while/def 后面少缩进
  • TypeError:例如字符串和数字乱运算
  • KeyError:字典里没有这个键——先 in 或用 get

三、解题思路

任务:认识常见报错,并写出更稳妥的写法。 先想清楚:输入是什么、处理后得到什么、屏幕上应出现什么。

本课主要用到:屏幕输出。

  1. 1明确任务「认识常见报错,并写出更稳妥的写法。」:运行后你希望看到什么结果(文字、图形或计算结果)。
  2. 2用「打印」积木把结果说出来,确认屏幕上出现预期内容。
  3. 3对照参考积木(或代码)跑通后,只改一个参数,观察结果如何变化。

流程示意(可对照左侧文字)

任务:认识常见报错,…用「打印」积木把结果说出来,…对照参考积木(或代码)跑通后,只改一…

四、图形块功能讲解

本课用到的 Mixly 图形块均已在前面的课讲过。请直接对照编程练习搭积木;若有遗忘,回到该积木首次出现的课页复习。

五、知识点讲解

循环让某段步骤按次数或条件重复执行,避免手工复制很多遍。要想清两件事:重复什么?什么时候停?没有停止条件就会「转不停」。

先弄清本课输入与输出,再进编程练习对照现象。

六、编程练习

用下拉列表切换题目;下方 Mixly 默认显示图形化积木。请在 Mixly 工具栏点「运行」;「检查」读取 Mixly 代码判题。

运行这段安全写法:int 转换与字典 get,对照报错课知识。

参考代码(对照抄写到下方 Mixly)
n = int("12")
print(n + 1)
data = {"a": 1}
print(data.get("b", 0))

七、课堂练习

选出你认为正确的一项,再点「检查」。

  1. 看到 NameError: name 'hp' is not defined,优先检查?

  2. 「获取输入」得到文字「3」要做数字比较,应?

  3. 调试时较稳妥的习惯是?

八、本节小结

会读报错就能独立修 bug。