Menu
CoddyTech

总额和平均值

本课属于 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. 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...")
    }
}

基础知识中的所有课

自己练习: Swift 在线编辑器