Цикл Repeat-While
Часть раздела Основы путешествия по Swift на Coddy — урок 44 из 86.
Цикл repeat-while похож на цикл while, но с одним ключевым отличием: он проверяет условие после выполнения блока кода, а не до него. Это гарантирует, что тело цикла выполнится хотя бы один раз.
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Вывод: 1, 2, 3Обратите внимание на структуру: ключевое слово repeat идет первым, за ним следует блок кода, а условие указывается в конце после while.
Разница становится очевидной, когда условие ложно с самого начала:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Вывод: This runs once!Несмотря на то, что number < 5 ложно, сообщение всё равно выводится один раз. С обычным циклом while ничего бы не вывелось вообще.
Используйте repeat-while, когда вам нужно, чтобы код выполнился хотя бы один раз перед проверкой условия продолжения, например, при запросе ввода у пользователя до тех пор, пока он не предоставит корректные данные.
Задание
ЛегкоСчитайте целое число n из входных данных. Используйте цикл repeat-while, чтобы вывести все числа от 1 до n, каждое на новой строке.
Вы получите следующие входные данные:
- Одна строка, содержащая целое число в виде строки (например,
"5")
Прочитайте входные данные, преобразуйте их в Int и используйте цикл repeat-while для вывода каждого числа, начиная с 1.
Требования:
- Начните счетчик с
1 - Выведите значение счетчика
- Увеличьте счетчик
- Продолжайте, пока счетчик меньше или равен
n
Например, если на вход подается 4, вывод должен быть следующим:
1
2
3
4Шпаргалка
Цикл repeat-while проверяет условие после выполнения блока кода, гарантируя, что тело цикла выполнится хотя бы один раз.
Синтаксис:
repeat {
// блок кода
} while conditionПример:
var count = 1
repeat {
print(count)
count += 1
} while count <= 3
// Вывод: 1, 2, 3Ключевое отличие от цикла while:
var number = 10
repeat {
print("This runs once!")
} while number < 5
// Вывод: This runs once!Даже если условие ложно с самого начала, блок кода выполняется один раз. Обычный цикл while в этом случае не выполнился бы вовсе.
Используйте repeat-while, когда вам нужно, чтобы код выполнился хотя бы один раз перед проверкой того, следует ли продолжать.
Попробуйте сами
// Чтение входных данных и преобразование в Int
let n = Int(readLine()!)!
// TODO: Напишите свой код ниже
// Инициализируйте счетчик с 1 и используйте цикл repeat-while для вывода чисел от 1 до nВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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Повторение: ФакториалДиапазоны в циклахВложенные циклыПовторение: Динамический ввод