Menu
CoddyTech

总额和平均值

本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 83 课,共 88 课。

challenge icon

挑战

简单

在费用追踪器的基础上,添加“总额和平均值”功能。

你的程序应该:

  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 数组
expenses = []

# TODO: 在下方编写你的代码
# 创建一个循环,完成以下操作:
# - 显示菜单
# - 读取用户输入
# - 处理选项 1、2、3 和 5
# 
# 选择 "1" 时:提示用户输入名称和金额,创建哈希表,并将其添加到 expenses
# 选择 "2" 时:显示所有支出;如果没有支出,则显示提示信息
# 选择 "3" 时:计算并显示总额和平均值;如果没有支出,则显示提示信息
# 选择 "5" 时:打印 "Goodbye!" 并退出

基础知识中的所有课

自己练习: Ruby 在线编译器