Menu
CoddyTech

Диапазоны в циклах

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

В циклах ты уже использовал диапазоны вроде 1...5, но Swift предлагает больше гибкости в их определении. Давай рассмотрим разные типы диапазонов и полезный способ считать в обратном порядке.

Оператор замкнутого диапазона (...) включает обе границы:

for i in 1...3 {
    print(i)
}
// Вывод: 1, 2, 3

Оператор диапазона с исключённой верхней границей (..<) не включает верхнюю границу, что особенно полезно при работе с индексами, начинающимися с нуля:

for i in 0..<3 {
    print(i)
}
// Вывод: 0, 1, 2

Иногда нужно выполнить цикл в обратном порядке. Метод reversed() позволяет проходить диапазон в обратном порядке:

for i in (1...3).reversed() {
    print(i)
}
// Вывод: 3, 2, 1

Обрати внимание на скобки вокруг диапазона: они необходимы при вызове reversed() для диапазона. Этот приём отлично подходит для обратного отсчёта или когда нужно обработать элементы с последнего по первый.

challenge icon

Задание

Легко
Напиши функцию countdown, которая принимает n и возвращает строку с обратным отсчётом от n до 1, за которым следует "Go!".

Используй метод reversed() для диапазона, чтобы перебирать его в обратном порядке и составить строку обратного отсчёта.

Логика:

  • Создай диапазон от 1 до n и разверни его
  • Составь строку, разделяя каждое число символом новой строки
  • Добавь "Go!" в последнюю строку

Параметры:

  • n (Int): Начальное число для обратного отсчёта (1 или больше)

Возвращает: Строку, в которой каждое число обратного отсчёта находится на отдельной строке, а в конце стоит "Go!" (String). Формат:

3
2
1
Go!

Например, если n равно 3, функция возвращает "3\n2\n1\nGo!".

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

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

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

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

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