Menu
CoddyTech

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

Часть раздела Основы путешествия по 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...")
    }
}

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

Потренируйтесь самостоятельно: Песочница Swift