Menu
Coddy logo textTech

Итоговая сумма и среднее значение

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

challenge icon

Задание

Легко

В предыдущем уроке вы реализовали функцию «Просмотреть все расходы». Теперь реализуйте функцию «Показать общую сумму и среднее значение» для варианта "3".

Измените свой код для обработки варианта "3":

  1. Когда пользователь вводит "3", проверьте, пуст ли массив expenses
  2. Если массив пуст, выведите No expenses to calculate.
  3. Если в массиве есть расходы, рассчитайте и отобразите:
    • Общую сумму всех расходов в формате Total: $X.X
    • Средний расход в формате Average: $X.X
  4. Вариант "4" по-прежнему должен выводить Coming soon...
  5. Варианты "1", "2" и "5" должны продолжать работать, как и раньше

Подсказка: Используйте reduce(0, +) для расчета общей суммы и разделите на Double(expenses.count) для получения среднего значения.

Ожидаемое поведение:

  • Если введено "3" при отсутствии расходов, выведите No expenses to calculate.
  • Если введено "3" при наличии расходов, выведите общую сумму на одной строке, а среднее значение — на следующей

Пример взаимодействия:

1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
No expenses to calculate.
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
20.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
1
Enter expense amount:
30.0
Expense added!
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
3
Total: $50.0
Average: $25.0
1. Add expense
2. View all expenses
3. Show total and average
4. Clear all expenses
5. Exit
5
Goodbye!

Попробуйте сами

// Daily Expense Tracker - Menu Display

var expenses: [Double] = []

while true {
    // TODO: Write your code below to print the menu options
    // Each option should be on its own line with the format: "number. option text"
    print("1. Add expense")
    print("2. View all expenses")
    print("3. Show total and average")
    print("4. Clear all expenses")
    print("5. Exit")
    
    let choice = readLine()
    
    if choice == "1" {
        print("Enter expense amount:")
        if let input = readLine(), let amount = Double(input) {
            expenses.append(amount)
            print("Expense added!")
        }
    } else if choice == "2" {
        if expenses.isEmpty {
            print("No expenses recorded.")
        } else {
            print("Your expenses:")
            for expense in expenses {
                print("- $\(expense)")
            }
        }
    } else if choice == "3" {
        print("Coming soon...")
    } else if choice == "4" {
        print("Coming soon...")
    } else if choice == "5" {
        print("Goodbye!")
        break
    } else {
        print("Coming soon...")
    }
}

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