合計と平均
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 81/86。
チャレンジ
簡単前のレッスンでは、「すべての経費を表示」機能を実装しました。今回は、オプション "3" の「合計と平均を表示」機能を実装しましょう。
オプション "3" を処理するようにコードを修正してください:
- ユーザーが
"3"を入力したとき、expenses配列が空かどうかを確認します - 配列が空の場合は、
No expenses to calculate.と出力します - 配列に経費がある場合は、以下を計算して表示します:
- すべての経費の合計を
Total: $X.Xの形式で表示 - 平均経費を
Average: $X.Xの形式で表示
- すべての経費の合計を
- オプション
"4"は引き続きComing soon...と出力するようにします - オプション
"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...")
}
}