Диапазоны в циклах
Часть раздела Основы путешествия по 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() для диапазона. Этот приём отлично подходит для обратного отсчёта или когда нужно обработать элементы с последнего по первый.
Задание
ЛегкоНапиши функцию 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 {
// Напишите здесь код
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: простая математикаОператоры сравнения7Основы ввода-вывода
Функция printИнтерполяция строкВвод с ReadLineПреобразование типовПовторение: до 120Повторение: истина или ложь2Переменные
Let и VarАннотации типовЧислаСтрокаЛогический типСоглашения об именованииПовторение — инициализация переменных5Операторы, часть 2
Логические операторы, часть 1Логические операторы, часть 2Повторение: простая логикаЛогические операторы, часть 3Тернарный оператор8Калькулятор разделения счёта
Приветственное сообщениеВвод данных14Массивы: продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опциональные значения
Что такое опциональные значенияИзвлечение значения с помощью if letGuard letОператор объединения с nilПовторение — безопасное извлечение значения6Принятие решений
Условный оператор ifIf — ElseПовторение: простой калькуляторОператор switchSwitch с диапазонами9Циклы
Цикл for-inЦикл whileЦикл repeat-whileПрерывание циклаПереход к следующей итерацииПовторение — факториалДиапазоны в циклахВложенный циклПовторение — динамический вводПотренируйтесь самостоятельно: Песочница Swift