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

割り勘計算ツール

Dex よし。補給に立ち寄って戻ってきたばかりなんだけど、みんなそれぞれ違うものを支払ってて、今や誰が誰にいくら払うべきか誰も合意できてない。いつも大事になるんだよね。誰がいくら払ったかを記録して、どう精算すればいいか教えてくれるようなものを作れない?クルーの士気のためにもさ 🙄

作るもの

支出を追加してください(精算する場合は 'done'):
誰が払いましたか? ハルト
いくらですか? 45.00

支出を追加してください(精算する場合は 'done'):
誰が払いましたか? ユウキ
いくらですか? 30.00

支出を追加してください(精算する場合は 'done'): done

合計: £75.00 を 2 人で割り勘(一人あたり £37.50)
ハルト は £7.50 受け取る
ユウキ は £7.50 支払う

必要なもの

  • 数値と算術 — 合計を割ったり、残高を計算したり
  • 辞書 — 各人がいくら払ったかを記録する
  • リスト — 集めた支出を順に保存する
  • 制御フロー — ユーザーが "done" と入力するまで実行する入力ループ
  • 関数 — 収集と計算を分けることでロジックがすっきりする

ヒント

各人が払った金額を記録する。 名前をキー、金額を値とする辞書を使えば、人ごとの合計を簡単に累積できます。

公平な分担は単純です。 合計金額を人数で割るだけ。誰かが払った金額と公平な分担との差がその人の残高になります:プラスなら受け取る側、マイナスなら支払う側です。

まず集めて、あとから計算。 ループの中ですべての支出を集めましょう。ユーザーが "done" と入力したら、計算をまとめて行います。

さらに進める

基本ができたら:

  • 3 人以上に対応。 ロジックは同じです — 公平な分担に対して全員の残高を計算します。各人の結果を表示しましょう。
  • 明細付きの支出。 各支出に説明を追加できるようにし、精算前に明細リストを表示します。
  • 誰が誰に払うか。 単に残高を表示するだけでなく、全員を精算するのに必要な最小限の振込の組み合わせを計算します。