Итог и среднее значение
Часть раздела Основы путешествия по Ruby на Coddy. Урок 83 из 88.
Задание
ЛегкоРасширь свой трекер расходов, добавив функцию «Итого и среднее».
Твоя программа должна:
- Создать пустой массив с именем
expenses - Создать
loop do, который отображает меню и считывает ввод пользователя - Когда пользователь вводит
"1", запросить название и сумму расхода, создать хеш с ключами:nameи:amount, добавить его в массивexpensesи вывестиExpense added! - Когда пользователь вводит
"2", отобразить все расходы, как и раньше: если расходов нет, вывестиNo expenses recorded yet.; в противном случае вывести пустую строку, за которой следует--- Your Expenses ---, а затем каждый расход в форматеName: $Amount - Когда пользователь вводит
"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!" и завершите работуВсе уроки раздела Основы
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Трекер ежедневных расходов
Обзор проектаВыход из программыПотренируйтесь самостоятельно: Онлайн-компилятор Ruby