Menu
Coddy logo textTech

合計と平均

CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 81/86。

challenge icon

チャレンジ

簡単

前のレッスンでは、「すべての経費を表示」機能を実装しました。今回は、オプション "3" の「合計と平均を表示」機能を実装しましょう。

オプション "3" を処理するようにコードを修正してください:

  1. ユーザーが "3" を入力したとき、expenses 配列が空かどうかを確認します
  2. 配列が空の場合は、No expenses to calculate. と出力します
  3. 配列に経費がある場合は、以下を計算して表示します:
    • すべての経費の合計を Total: $X.X の形式で表示
    • 平均経費を Average: $X.X の形式で表示
  4. オプション "4" は引き続き Coming soon... と出力するようにします
  5. オプション "1""2"、および "5" は以前と同様に動作し続ける必要があります

ヒント: 合計の計算には reduce(0, +) を使用し、平均を出すには Double(expenses.count) で割ります。

期待される動作:

  • 経費がない状態で "3" が入力された場合、No expenses to calculate. と出力します
  • 経費がある状態で "3" が入力された場合、1行目に合計を、次の行に平均を出力します

インタラクションの例:

1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
No expenses to calculate.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
20.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
30.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
Total: $50.0
Average: $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!

自分で試してみよう

// Daily Expense Tracker - Menu Display

var expenses: [Double] = []

while true {
    // TODO: Write your code below to print the menu options
    // Each option should be on its own line with the format: "number. option text"
    print("1. Add expense")
    print("2. View all expenses")
    print("3. Show total and average")
    print("4. Clear all expenses")
    print("5. Exit")
    
    let choice = readLine()
    
    if choice == "1" {
        print("Enter expense amount:")
        if let input = readLine(), let amount = Double(input) {
            expenses.append(amount)
            print("Expense added!")
        }
    } else if choice == "2" {
        if expenses.isEmpty {
            print("No expenses recorded.")
        } else {
            print("Your expenses:")
            for expense in expenses {
                print("- $\(expense)")
            }
        }
    } else if choice == "3" {
        print("Coming soon...")
    } else if choice == "4" {
        print("Coming soon...")
    } else if choice == "5" {
        print("Goodbye!")
        break
    } else {
        print("Coming soon...")
    }
}

基礎のすべてのレッスン