Итог и среднее значение
Часть раздела Основы путешествия по Ruby на Coddy — урок 83 из 88.
Задание
ЛегкоДополните свой трекер расходов, добавив функциональность "Total & Average" (Итого и Среднее).
Ваша программа должна:
- Инициализировать пустой массив с именем
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 = []
# TODO: Напишите свой код ниже
# Создайте цикл, который:
# - Отображает меню
# - Читает ввод пользователя
# - Обрабатывает варианты 1, 2, 3 и 5
#
# Для варианта "1": запросить имя и сумму, создать хеш, добавить в расходы
# Для варианта "2": отобразить все расходы или сообщение, если их нет
# Для варианта "3": рассчитать и отобразить общую сумму и среднее значение, или сообщение, если их нет
# Для варианта "5": вывести "Goodbye!" и выйтиВсе уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложь9Методы
Определение методаПараметры методаВозвращаемые значенияПовторение: метод SigmaПовторение: метод ValidationЗначения параметров по умолчанию15Трекер ежедневных расходов
Обзор проектаВыход из программы