Menu
CoddyTech

Операторы последовательностей

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

Swift предоставляет полезные встроенные свойства и методы, которые позволяют быстро получать информацию о массивах, не записывая циклы. Эти операторы последовательностей помогают выполнять распространённые вычисления с минимальным количеством кода.

Свойство count возвращает количество элементов в массиве:

let scores = [85, 92, 78, 90]
print(scores.count)  // 4

Для числовых массивов Swift предлагает методы для поиска наименьшего и наибольшего значений. Методы min() и max() возвращают опциональные значения, поскольку у пустого массива нет ни минимума, ни максимума:

let temperatures = [72, 68, 75, 80, 65]

if let lowest = temperatures.min() {
    print(lowest)  // 65
}

if let highest = temperatures.max() {
    print(highest)  // 80
}

Чтобы вычислить сумму всех элементов, используй метод reduce. Он объединяет все значения, начиная с начального значения:

let prices = [10, 20, 30]
let total = prices.reduce(0, +)
print(total)  // 60

0 — это начальное значение, а + указывает Swift складывать каждый элемент с текущей суммой. Объединив эти операторы, ты можешь легко вычислить среднее значение:

let grades = [85, 90, 78, 92]
let average = grades.reduce(0, +) / grades.count
print(average)  // 86
challenge icon

Задание

Легко
Напишите функцию analyzeScores, которая принимает scores и возвращает строку-сводку со статистикой по массиву.

Используйте операторы последовательности, чтобы вычислить количество, минимум, максимум и среднее значение оценок, а затем объедините их в одну строку-сводку.

Логика:

  1. Получите общее количество элементов с помощью count
  2. Найдите минимальное значение с помощью min()
  3. Найдите максимальное значение с помощью max()
  4. Вычислите сумму с помощью reduce(0, +) и разделите её на количество элементов, чтобы получить среднее значение
  5. Верните форматированную строку со всей статистикой

Параметры:

  • scores ([Int]): массив целочисленных оценок (гарантированно содержит хотя бы один элемент)

Возвращает: форматированную строку со статистикой (String). Формат: "Count: X, Min: X, Max: X, Avg: X"

Пример: если scores — это [85, 90, 78, 92], функция должна вернуть "Count: 4, Min: 78, Max: 92, Avg: 86".

Примечание: среднее значение нужно вычислять с помощью целочисленного деления (без десятичных знаков).

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

func analyzeScores(scores: [Int]) -> String {
    // Напишите код здесь
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

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

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