Continue
Часть раздела Основы путешествия по 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.
Шпаргалка
Оператор continue пропускает текущую итерацию цикла и переходит к следующей, не выходя из цикла полностью.
for number in 1...5 {
if number == 3 {
continue
}
print(number)
}
// Вывод: 1, 2, 4, 5Когда условие выполняется, continue пропускает оставшийся код в этой итерации и переходит к следующему значению.
Пример фильтрации четных чисел:
for number in 1...6 {
if number % 2 != 0 {
continue
}
print(number)
}
// Вывод: 2, 4, 6Ключевое отличие: break полностью выходит из цикла, в то время как continue только переходит к следующей итерации.
Попробуйте сами
func sumExcludingMultiples(limit: Int, skip: Int) -> Int {
// Напишите код здесь
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСоставное присваиваниеПовторение: Простая математикаОператоры сравнения7Основы ввода-вывода
Функция PrintИнтерполяция строкВвод через ReadLineПреобразование типовПовторение — до 120Повторение — True или False10Функции
Объявление функцииПараметры и аргументыВозвращаемые значенияМетки аргументовПовторение: функция SigmaПовторение: функция валидацииЗначения по умолчанию13Итерирование по последовательностям
Итерирование по элементамМетод enumerateИтерирование по строкам, ч. 1Итерирование по строкам, ч. 22Переменные
Let против VarАннотации типовЧислаСтрокиBooleanСоглашения об именованииИтоги — Инициализация переменных5Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение: простая логикаЛогические операторы. Часть 3Тернарный оператор8Калькулятор разделения счета
Приветственное сообщениеПолучение ввода14Массивы: Продвинутый уровень
Срезы массивов. Часть 1Срезы массивов. Часть 2Операторы последовательностейМетод Contains3Опционалы
Что такое опционалыРазвертывание с помощью if letGuard letОператор объединения с nilИтоги — безопасное развертывание6Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторОператор SwitchSwitch с диапазонами9Циклы
Цикл For-InЦикл WhileЦикл Repeat-WhileBreakContinueПовторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод