Цикл While
Часть раздела Основы путешествия по Swift на Coddy — урок 43 из 86.
Иногда вы не знаете точно, сколько раз должен выполниться цикл. Вместо этого вы хотите продолжать выполнение цикла, пока условие остается истинным. Именно здесь на помощь приходит цикл while.
var count = 1
while count <= 3 {
print(count)
count += 1
}
// Вывод: 1, 2, 3 (каждое на новой строке)Цикл проверяет условие count <= 3 перед каждой итерацией. Пока оно истинно, код внутри выполняется. Как только условие становится ложным, цикл останавливается.
Будьте осторожны: если условие никогда не станет ложным, вы создадите бесконечный цикл! Всегда следите за тем, чтобы что-то внутри цикла в конечном итоге изменяло условие:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// Вывод: 10, 8, 6, 4, 2Используйте цикл while, когда количество итераций зависит от условия, которое меняется во время выполнения, а не от фиксированного диапазона.
Задание
ЛегкоНапишите функцию countdownSum, которая принимает start и возвращает сумму всех чисел от start до 1.
Используйте цикл while для обратного отсчета от начального числа, добавляя каждое значение к текущей сумме, пока не достигнете нуля.
Логика:
- Начните с заданного числа
- Пока число больше 0, добавляйте его к сумме и уменьшайте на 1
- Верните итоговую сумму
Параметры:
start(Int): Начальное число для обратного отсчета
Возвращает: Сумму всех чисел от start до 1 (Int)
Например, если start равно 5, функция вычисляет 5 + 4 + 3 + 2 + 1 = 15 и возвращает 15.
Шпаргалка
Цикл while повторяет код до тех пор, пока условие истинно:
var count = 1
while count <= 3 {
print(count)
count += 1
}
// Вывод: 1, 2, 3Условие проверяется перед каждой итерацией. Когда оно становится ложным, цикл останавливается.
Всегда следите за тем, чтобы условие в конечном итоге стало ложным, чтобы избежать бесконечных циклов:
var number = 10
while number > 0 {
print(number)
number -= 2
}
// Вывод: 10, 8, 6, 4, 2Используйте циклы while, когда количество итераций зависит от меняющегося условия, а не от фиксированного диапазона.
Попробуйте сами
func countdownSum(start: 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Повторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод