01 / 写清规则
只接受已知饮品和正整数数量;价格用整数分;未知或无效订单要有清楚提示。
运行前在这里填好答案。输入内容不会自动回显,提示语会出现在输出中;缺少行时会显示 EOFError。重置可恢复示例输入。
Ctrl / ⌘ + Enter 运行。Tab 插入四个空格;Esc 可退出编辑区。每次运行使用全新 Python 变量。
这是未修改示例的输出;修改代码后,输出不同可能正是你想观察的效果。
练习标记是你自己的检查清单,保存在当前设备,不代表代码评分,也不保存代码或预填输入。
首次运行会加载 Python(约 14 MB),代码在当前浏览器标签页执行,单次执行超过 10 秒会重置。这里面向标准库练习,input() 读取预填输入框;文件保存在每次运行新建的浏览器临时目录,不支持额外安装包。关闭或刷新页面不会保留练习,请下载代码保存。
Garen、Ashe 与 Lux 用作《英雄联盟》主题的非官方教学示例。数值与公式均为练习虚构,未使用实时游戏数据或游戏美术素材。本工作室与 Riot Games 无隶属关系。
用自己的实现组合所学概念。实验室中的每例独立运行,需要明确组合所需代码,不能依赖前一例的变量或文件。
只接受已知饮品和正整数数量;价格用整数分;未知或无效订单要有清楚提示。
从小票示例开始,提取计算函数、加入校验,再用 CSV 或 JSON 保存和读取订单。
检查两杯 Latte 加一杯 Tea 合计 1200 分、空订单合计为零、无效数量被拒绝,并解释每项检查的目的。
一对一在线课可以一起检查跟踪过程、调试决策与代码解释,再选择下一项练习。这些示例由工作室自编,UOW 公开课程描述仅用于参考知识覆盖,不代表大学隶属关系或官方考核培训。
沿同一咖啡店主线,连接需求、职责与 Python 对象。类示例刻意保持简短,数量校验留作后续练习。
先明确饮品、价格、数量与输出,再决定空订单和无效数量如何处理,最后才选类。
MenuItem 管理名称和单价,Order 管理订单行与合计。订单通过组合包含菜单项,不从菜单项继承。
运行“用对象表达咖啡订单”。创建独立订单、检查状态、补充校验,再检查两杯 Latte 合计 900 分、空订单合计为零。
name · price_centslines[] · add(item, quantity)
total_cents()self 指向实例。每个 Order 在 __init__ 中创建自己的 lines 列表;可变的类级列表会被多个订单共享。可选英雄案例另外展示继承。
先提出自己的分析,再请 AI 质疑假设、评审职责或建议边界用例。对照需求与运行结果核实建议,并解释自己接受了什么、为什么接受。
“请评审这个设计,先不要重写。指出一个职责不明确的地方和两个边界用例。在建议改动前,先向我确认缺失的需求。”
这是一段可在自己的 AI 工具中使用的提问示例,实验室不会调用 AI 服务。
扩展:为 Order.add() 添加数量校验,检查空订单,并解释每条规则由哪个类负责。