Переход к следующей итерации
Часть раздела Основы путешествия по Swift на Coddy. Урок 46 из 86.
В то время как break полностью прерывает цикл, иногда нужно лишь пропустить текущую итерацию и перейти к следующей. Именно это и делает оператор continue.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// Вывод: 1, 2, 4, 5Когда number равно 3, оператор continue пропускает оставшуюся часть этой итерации. Цикл не останавливается. Он просто переходит к следующему значению. Обрати внимание, что в выводе нет 3, но 4 и 5 всё ещё выводятся.
Это полезно, когда нужно отфильтровать определённые значения, не останавливая весь цикл. Например, выводить только чётные числа:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// Вывод: 2, 4, 6Главное различие: break полностью останавливает цикл, а continue лишь переходит к следующей итерации.
Задание
ЛегкоНапиши функцию sumExcludingMultiples, которая принимает limit и skip и возвращает сумму всех чисел от 1 до limit, исключая числа, кратные skip.
Используй цикл с continue, чтобы пропускать числа, кратные заданному числу, и одновременно накапливать сумму всех остальных значений.
Логика:
- Перебери числа от 1 до
limit - Если текущее число кратно
skip, используйcontinue, чтобы пропустить его - В противном случае добавь число к текущей сумме
- Верни итоговую сумму
Параметры:
limit(Int): Верхняя граница диапазона (включительно)skip(Int): Числа, делящиеся на это значение, нужно пропускать
Возвращает: Сумму всех чисел от 1 до limit, которые не кратны skip (Int)
Например, если limit равно 10, а skip равно 3, функция пропускает 3, 6 и 9, поэтому возвращает 1 + 2 + 4 + 5 + 7 + 8 + 10 = 37.
Попробуйте сами
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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