费用分摊器
Dex 好。我们刚从补给站回来,每个人都付了不同的东西的钱,现在没人能就谁欠谁达成一致。这事总是变成一场闹剧。你能做个东西吗?我们记录谁付了什么,然后它告诉我们怎么结算?为了船员士气 🙄
你要构建的内容
Add an expense (or 'done' to settle up):
Who paid? 小明
How much? 45.00
Add an expense (or 'done' to settle up):
Who paid? 小红
How much? 30.00
Add an expense (or 'done' to settle up): done
Total: £75.00 split between 2 people (£37.50 each)
小明 is owed £7.50
小红 owes £7.50你需要的知识
提示
跟踪每个人支付了什么。 用名字作为键、金额作为值的字典,可以轻松地累计每个人的总额。
公平份额很简单。 总金额除以人数。某人支付的金额与其公平份额之间的差额就是他们的余额:正数表示别人欠他,负数表示他欠别人。
先收集,后计算。 在循环中收集所有支出。一旦用户输入 "done",再一次性完成所有数学运算。
进一步拓展
基础功能完成后:
- 超过两人。 逻辑相同 — 根据公平份额计算每个人的余额。显示每个人的结果。
- 分项支出。 让用户为每笔支出添加描述,然后在结算前打印一份分项列表。
- 谁付给谁。 不仅显示余额,还要计算结算所有人所需的最少转账次数。

