学习指南 →

· Albion Gateway College

Python 课程辅导练习:读懂 traceback,再修改报错代码

用平均值函数练习定位 Python 异常、区分空列表与类型问题,整理最小复现和调试记录,为大学编程 tutorial 做准备。

先把报错分成位置、类型与输入

Python课程辅导可以从读懂报错开始,而不是先找一段能够运行的替代程序。保留异常末行,标出自己代码中触发异常的调用位置,再记录实际传入的数据。Python 官方教程解释,异常类型与说明出现在报错末行,前面的 traceback 提供调用上下文。

准备大学Python模块辅导时,附上 Python 版本、最小输入、期望结果和实际结果。截图可以辅助说明,但可复制的最小代码更便于复现。

原创练习:一个平均值函数,两种失败

设想函数的主体只有 return sum(values) / len(values)。先用 [3, 5] 手算得到 4.0,再预测传入 [] 会发生什么:分母为零,因此是 ZeroDivisionError。这里的问题是输入是否允许为空。

接着考虑 [3, "5"]。sum 在相加时遇到整数与字符串,发生 TypeError,程序还没有走到除法。不要把两种失败都理解为同一个“平均值算法错误”。

写输入约定,再决定修复办法

Python报错调试辅导应先问函数接受什么。如果约定只接受非空数字列表,可在入口检查空列表并抛出有说明的 ValueError;如果数据来自文本文件,则应在读取边界决定如何转换、拒绝或报告非数字值。

不要用 except Exception: return 0 掩盖所有错误。零可能是合法平均值,这样会把失败伪装成有效结果。也不要未经说明就把缺失数据变成零。

自查:改动是否保留了原来的正确行为

用 [3, 5]、[-2, 2]、[] 和 [3, "5"] 建一个四行测试表。前两项分别应为 4.0 和 0.0;后两项的预期行为取决于你事先写下的输入约定。

英国计算机编程辅导的有效成果应包括你能解释错误原因和测试选择,而不只是得到一段代码。大学作业代码和提交说明仍须由学生依课程规定独立完成。

参考资料

下一步

如需讨论相关大学专业课程辅导,请说明模块名称、学习目标和自己已经尝试的步骤。能否安排合适的教学须经确认,所有课程作业由学生独立完成。

继续阅读

学院在线咨询

欢迎咨询

你好,欢迎咨询!你是学生、招生代理、求职者,还是想申请成为导师?请告诉我你的咨询方向。

[email protected]