Skip to content
This page has been auto-translated and may contain errors.View in English

库存管理器

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 管理一个 Item 列表,并暴露这些方法:add、update、remove、list。

退出时保存,启动时加载。 用 try/except 包裹文件加载,这样首次运行时缺失的文件不会让脚本崩溃 —— 直接从空库存开始即可。

总价值是一个显示层面的问题。 在打印时计算 quantity × price。无需将其存储为属性,它始终可以推导出来。

更进一步

核心工具运行之后:

  • 低库存警报。 在显示列表时,标记任何数量低于你定义阈值的物品。
  • 搜索。 添加一个 search 命令,通过名称查找物品,并支持部分匹配。
  • 导出报告。 添加一个 export 命令,将当前库存的纯文本摘要写入 .txt 文件。