Menu
Coddy logo textTech

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

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

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

Шпаргалка

Swift предоставляет встроенные свойства и методы для работы с массивами без написания циклов.

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

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

Методы 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

Вычислите среднее значение, комбинируя reduce с count:

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

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

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

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

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