Menu
Coddy logo textTech

Итог и среднее значение

Часть раздела Основы путешествия по Ruby на Coddy — урок 83 из 88.

challenge icon

Задание

Легко

Дополните свой трекер расходов, добавив функциональность "Total & Average" (Итого и Среднее).

Ваша программа должна:

  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 = []

# TODO: Напишите свой код ниже
# Создайте цикл, который:
# - Отображает меню
# - Читает ввод пользователя
# - Обрабатывает варианты 1, 2, 3 и 5
# 
# Для варианта "1": запросить имя и сумму, создать хеш, добавить в расходы
# Для варианта "2": отобразить все расходы или сообщение, если их нет
# Для варианта "3": рассчитать и отобразить общую сумму и среднее значение, или сообщение, если их нет
# Для варианта "5": вывести "Goodbye!" и выйти

Все уроки раздела Основы