库存管理器
Orla 你好。货舱一团糟。我们正在用完那些我们不知道快用完的东西,还在重复订购那些我们已经有很多的东西。我需要一个像样的库存工具。添加物品、更新数量、在会话之间把所有内容保存到文件中。一个全体船员都能真正使用的东西 📦
你将构建什么
Commands: add / update / list / remove / quit
> add
Item name: Widget A
Quantity: 100
Price: 2.49
Added.
> list
Widget A qty: 100 £2.49 each total value: £249.00
> update
Item: Widget A
New quantity: 85
Updated.
> quit
Inventory saved to inventory.json.你将需要什么
- 类与对象 —— 用
Item类表示单个产品,用Inventory类管理集合 - 文件与异常 —— 保存到 JSON 文件并从中加载,在首次运行时捕获缺失的文件
- 字典与列表 —— 类封装前后的底层数据
- 数字与算术 —— 计算每个物品的总价值
- 控制流与函数 —— 命令循环,每个命令对应一个函数
提示
Item 是一个具有三个属性的类。 名称、数量、价格。Inventory 管理一个 Item 列表,并暴露这些方法:add、update、remove、list。
退出时保存,启动时加载。 用 try/except 包裹文件加载,这样首次运行时缺失的文件不会让脚本崩溃 —— 直接从空库存开始即可。
总价值是一个显示层面的问题。 在打印时计算 quantity × price。无需将其存储为属性,它始终可以推导出来。
更进一步
核心工具运行之后:
- 低库存警报。 在显示列表时,标记任何数量低于你定义阈值的物品。
- 搜索。 添加一个
search命令,通过名称查找物品,并支持部分匹配。 - 导出报告。 添加一个
export命令,将当前库存的纯文本摘要写入.txt文件。

