批量补录先校验,再计算|学员任务书

课前保留判断:课前预习;课后复验:课后复习。

从自己的昨日项目继续

起点:本人 D01 金额交互脚本;0与负数尚未拦截。领取 student/W01-D02 当日增量,查看文件再合并,禁止覆盖本人已完成代码。教师只给合同、分段小例、TODO和检查工具;完整实现不在学生包。

商城任务与知识用途

本日完成:batch_orders.py、逐条成功/失败结果、状态拒绝前后记录。条件与短路、真假值、list/dict/tuple/set、索引切片、for/while、range/enumerate、continue/break、try/except/else/finally/raise 都用于这一任务;使用位置及小例见 课堂课件。测试代码属于提供的检查工具,不要求在机制首讲前独立重写测试框架。

分段待办

  1. 保留 D01 起点提交;输入二、0、-1、1,先手写应该显示的结果。
  2. 在单笔脚本补条件与异常边界,成功才计算。不可把 NameError 统一显示为输入错误。
  3. 领取 W01-D02 的 batch_orders.py 与 check_batch.py;已有同名文件时合并TODO,不覆盖本人代码。首次检查必须明确报 STUDENT_TODO。
  4. 列出每条请求的编号、商品编号、数量文本,先手工填写总数与金额,再写列表、字典和循环。
  5. 将成功、失败、金额与处理数分开保存;try 完成解析与校验,else 只累计成功,finally 计处理数。
  6. 单独完成待支付→已支付、待支付→取消、已支付取消拒绝,打印前后状态;继续沿用已有状态合同。
  7. 将坏记录移到首尾,替换一条合法数量;独立说明 continue 与 break 为什么产生不同未处理范围。

运行和核对

从自己的项目根目录、当前选中Python解释器运行:

python batch_orders.py
python check_batch.py
场景预期
日包五条记录成功2、失败3、已处理5、557.00元
空批次三个计数均0,总额0.00
二、空文本、2.5格式拒绝,失败定位原记录
0、-1业务拒绝,不累计
1与带空格的2分别129.00、258.00
P9999未知商品拒绝
已支付取消明确拒绝,仍PAID

个人变化与交付

先在不看参考实现的情况下预测结果,再运行;记录输入、预期、实际、修复及原样本回归。提交代码、固定Git提交、一次故障定位、一次AI差异审查和同伴复现记录。只交全绿截图或生成代码而不能解释,不构成通过。

核心:完成本日分段待办和验收表。进阶:自行换一条同规模业务输入或故障。挑战:减少重复或改进说明,但仍须守住当前合同;不靠提前引入框架、数据库或消息队列替代基础练习。全部必做在课堂实践时段完成,课后复习只整理已做结果。

下一日:D03 用同一批输入提取规则函数,金额、拒绝和状态不变。