总额和平均值
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 83 课,共 88 课。
挑战
简单在费用追踪器的基础上,添加“总额和平均值”功能。
你的程序应该:
- 初始化一个名为
expenses的空数组 - 创建一个
loop do,用于显示菜单并读取用户输入 - 当用户输入
"1"时,提示输入费用名称和金额,创建一个包含:name和:amount键的哈希,将其添加到expenses数组中,并输出Expense added! - 当用户输入
"2"时,显示所有费用;如果没有费用,则显示一条消息 - 当用户输入
"3"时,计算并显示所有费用的总额和平均值;如果没有费用,则显示一条消息 - 当用户输入
"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: $XAverage: $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 在线编译器