综合编程与排错场景
Python 数据类型、函数与异常处理#Python全栈#第二阶段#Python 数据类型、函数与异常处理#综合编程与排错场景约 1223 字 · 3 分钟阅读
追问显示点击任意追问卡片可收起 / 展开
编写数量校验函数:只接受正整数,明确拒绝布尔值和浮点数。
追问 字符串输入是否由另一个函数转换?请验证 True、0、-1、1、1.0 与 None。
编写用户记录清洗函数,清理姓名首尾空白并检查年龄。
追问 年龄规则由你声明;错误记录如何报告?原始列表与内部字典能否保持不变?
编写按课程分组的函数,输入为学生选课记录。
追问 重复选课、缺失字段、空输入与多个课程共用内部列表如何处理和验证?
编写课程名称去重函数,保留首次出现的顺序。
追问 规定仅忽略首尾空白与英文字母大小写,结果保留哪个名称?如何处理空名称?
编写订单总额函数:单价使用整数分,数量为正整数。
追问 空订单、非法单价、布尔数量与未知商品如何处理?计算函数是否应打印结果?
编写分页函数:页码从 1 开始,每页数量为正整数。
追问 页码超出范围返回什么?是否返回总条数?原数据变化与副本共享如何说明?
编写配置合并函数,用户设置覆盖默认设置。
追问 先约定只合并一层;None 是否表示覆盖?如何防止修改结果影响原始嵌套配置?
修复一个默认列表参数导致用户记录串数据的函数。
追问 如何用连续调用和独立显式列表复现问题,并验证修复不改变原接口约定?
编写可重复输入的整数读取程序,并将转换逻辑与提示逻辑分离。
追问 无效输入可以重试,用户退出不应被吞掉;哪些异常由哪一层处理?
实现一个内存版学生成绩管理程序,用函数组织新增、查询、修改、删除与统计。
追问 如何设计唯一学号、成绩范围、返回结构、异常边界与测试样例?本题不要求文件持久化或面向对象实现。
面试评分参考
每题可按 0~3 分评价:
- 0 分: 无法解释数据或调用行为,任务不能运行,或用吞掉所有异常掩盖问题。
- 1 分: 会使用部分方法或语法,但不理解共享对象、调用规则与失败路径。
- 2 分: 能正确组织数据和函数,识别常见类型、拷贝、参数与异常问题,并验证主要边界。
- 3 分: 能明确接口和副作用,说明行为原因,选择合理错误边界,并用可复现样例验证结果。
重点观察:
- 是否区分缺失、None、零值、空数据和非法类型。
- 是否理解对象共享、浅拷贝、嵌套可变对象与默认参数的风险。
- 是否明确函数输入、输出、失败约定及是否修改调用者数据。
- 是否把异常当作可解释的控制流程,而非全部捕获后继续执行。
- 是否通过正常输入、边界输入与连续调用检验程序。
课堂练习与组卷建议
- 代码阅读: 从 32、45~48、63~65、73、88 题中选取样例,先解释对象、名称或执行路径,再运行核对。
- 函数设计: 从 91~97 题选取任务,提交接口约定、实现和包含无效输入的验证记录。
- 错误修复: 注入共享默认参数、错误拷贝、漏返回值或异常吞掉问题,要求定位根因并验证修复。
- 阶段项目: 完成第 100 题,明确数据结构、函数职责和失败处理,提供可独立运行的说明与样例。
使用建议: 单次模拟面试选 15~20 题,至少包含数据组织、对象引用、函数参数与异常各两题,并安排一道小型编程任务。基础语法不熟练者可回到第一阶段练习;本阶段通过后再进入面向对象与高级 Python。