添加开支
本课属于 Coddy Ruby 学习旅程的“基础知识”单元。第 81 课,共 88 课。
挑战
简单在上一课的费用追踪器基础上,添加“Add Expense”功能。
你的程序应该:
- 初始化一个名为
expenses的空数组 - 创建一个
loop do,用于显示菜单并读取用户输入 - 当用户输入
"1"时,提示输入费用名称和金额,创建一个包含:name和:amount键的哈希,将它添加到expenses数组中,并输出Expense added! - 当用户输入
"5"时,输出Goodbye!并退出循环
菜单应与之前完全一致:
--- Expense Tracker ---
1. Add Expense
2. View Expenses
3. Total & Average
4. Clear All
5. Exit
Choose an option: 选择选项 "1" 时,显示以下提示:
Expense name: 读取名称后:
Amount: 所有提示都使用 print(这样光标会停留在同一行)。使用 to_f 将金额转换为浮点数。
程序会依次收到多个输入:菜单选项;如果选项是 "1",接下来会输入费用名称和金额。
例如,如果输入依次为 1、Coffee、4.50,然后是 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: Goodbye!如果输入依次为 1、Lunch、12.99、1、Bus fare、2.50,然后是 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: Goodbye!亲手试试
expenses = []
loop do
puts "\n--- 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 == "5"
puts "Goodbye!"
break
end
end基础知识中的所有课
自己练习: Ruby 在线编译器