查看所有开支
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 82 课,共 88 课。
挑战
简单在你的费用追踪器中添加“查看费用”功能。
你的程序应当:
- 初始化一个名为
expenses的空数组 - 创建一个
loop do,用于显示菜单并读取用户输入 - 当用户输入
"1"时,提示用户输入费用名称和金额,创建一个包含:name和:amount键的哈希,将其添加到expenses数组中,并打印Expense added! - 当用户输入
"2"时,显示所有费用;如果没有费用,则显示一条消息 - 当用户输入
"5"时,打印Goodbye!并退出循环
菜单应与之前完全一致:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: 选择选项 "2" 时:
- 如果没有费用,打印:
No expenses recorded yet. - 如果有费用,先打印一个空行,然后打印
--- Your Expenses ---,再按以下格式打印每笔费用:Name: $Amount
例如,如果输入依次为 2、5(在没有费用时查看),输出应为:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: No expenses recorded yet.
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!如果输入依次为 1、Coffee、4.5、1、Lunch、12.0、2、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:
--- Your Expenses ---
Coffee: $4.5
Lunch: $12.0
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: Goodbye!亲手试试
expenses = []
loop do
puts "--- Expense Tracker ---"
puts "1. Add Expense"
puts "2. View Expenses"
puts "3. Total & Average"
puts "4. Clear All"
puts "5. Exit"
print "Choose an option: "
choice = gets.chomp
if choice == "1"
print "Expense name: "
name = gets.chomp
print "Amount: "
amount = gets.chomp.to_f
expenses.push({name: name, amount: amount})
puts "Expense added!"
puts ""
elsif choice == "5"
puts "Goodbye!"
break
end
end基础知识中的所有课
自己练习: Ruby 在线编译器