Menu
Coddy logo textTech

合計と平均

CoddyのRubyジャーニー「基礎」セクションの一部 — レッスン 83/88。

challenge icon

チャレンジ

簡単

「Total & Average」(合計と平均)機能を追加して、家計簿プログラムをさらに発展させましょう。

プログラムの要件は以下の通りです:

  1. expenses という名前の空の配列を初期化します。
  2. メニューを表示し、ユーザーの入力を読み取る loop do を作成します。
  3. ユーザーが "1" を入力したとき、経費の名前と金額をプロンプトで求め、:name:amount をキーに持つハッシュを作成して expenses 配列に追加し、Expense added! と出力します。
  4. ユーザーが "2" を入力したとき、すべての経費を表示するか、経費がない場合はメッセージを表示します。
  5. ユーザーが "3" を入力したとき、すべての経費の合計と平均を計算して表示するか、経費がない場合はメッセージを表示します。
  6. ユーザーが "5" を入力したとき、Goodbye! と出力してループを終了します。

メニューは以前とまったく同じように表示する必要があります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: 

オプション "3" が選択されたとき:

  • 経費が一つもない場合は、No expenses to calculate. と出力します。
  • 経費がある場合は、合計と平均を以下の形式で出力します:
    Total: $X
    Average: $Y

すべての :amount の値を合算して合計を算出します。合計を経費の数で割って平均を算出します。

例えば、入力が 3、次に 5(空の状態で計算する場合)であれば、出力は以下のようになります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses to calculate.

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

入力が 1, Coffee, 5.0, 1, Lunch, 15.0, 3, そして 5 であれば、出力は以下のようになります:


--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Expense name: Amount: Expense added!

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Total: $20.0
Average: $10.0

--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!

自分で試してみよう

# 経費の配列を初期化します
expenses = []

# TODO: 以下にコードを記述してください
# 次の処理を行うループを作成してください:
# - メニューを表示する
# - ユーザーの入力を読み取る
# - オプション 1、2、3、5 を処理する
# 
# オプション "1" の場合:名前と金額を求め、ハッシュを作成し、expenses に追加します
# オプション "2" の場合:すべての経費を表示するか、データがない場合はメッセージを表示します
# オプション "3" の場合:合計と平均を計算して表示するか、データがない場合はメッセージを表示します
# オプション "5" の場合:"Goodbye!" と表示して終了します

基礎のすべてのレッスン