Цикл While
Часть раздела Основы путешествия по Ruby на Coddy. Урок 40 из 88.
Цикл for отлично работает, когда ты точно знаешь, сколько раз нужно повторить действие. Но что, если ты хочешь продолжать loop, пока определённое условие не изменится? Здесь на помощь приходит loop while.
Цикл while продолжает выполняться, пока его условие остаётся истинным:
count = 1
while count <= 3
puts count
count += 1
endЭто выводит 1, 2 и 3. Цикл проверяет условие перед каждой итерацией. Когда count становится равным 4, условие count <= 3 ложно, и цикл останавливается.
Ключевое отличие от цикла for заключается в том, что вы управляете моментом завершения цикла, изменяя переменную внутри цикла. Если вы забудете обновить переменную, цикл будет выполняться бесконечно! Вот пример обратного отсчёта:
num = 5
while num > 0
puts num
num -= 1
end
puts "Done!"Это выполняет обратный отсчёт от 5 до 1, затем выводит «Done!» после завершения цикла. Цикл while особенно полезен, когда вы заранее не знаете, сколько итераций потребуется.
Задание
ЛегкоСчитайте из ввода число n. Используйте цикл while, чтобы вывести все numbers от n до 1 в порядке убывания, каждое в своей строке. После завершения обратного отсчёта выведите Blastoff! в новой строке.
Ввод будет представлять собой одно целое число, обозначающее starting число для обратного отсчёта.
Например, если ввод равен 5, вывод должен быть таким:
5
4
3
2
1
Blastoff!Попробуйте сами
# Прочитать начальное число
n = gets.chomp.to_i
# TODO: Напишите ваш код ниже
# Используйте цикл while, чтобы вывести числа от n до 1
# Затем выведите точный текст из инструкцийВ этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счета
Приветственное сообщениеПолучение пользовательского ввода13Продвинутая работа с массивами
Срезы массивов через диапазоныСрезы массивов через индексыОператоры массивовМетод include?2Переменные и типы данных
Числа и переменныеСтроковый тип данныхЛогический тип данныхТип данных SymbolПроверка типов данныхПравила именованияПовторение: создание переменных5Принятие решений
Оператор IfКонструкция If - ElseПовторение — Простой калькуляторВложенные конструкции If - ElseОператор Unless8Циклы
Цикл For с диапазонамиЦикл WhileОператор BreakОператор NextПовторение: ФакториалЦикл TimesЦикл UntilВложенные циклыПовторение: Динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращенная арифметикаИтоги: простая математикаОператоры сравнения6Основы ввода-вывода
Вывод с помощью putsВывод с помощью print и pВывод с переменнымиВвод с помощью getsМетод chompПреобразование типовИтоги — Калькулятор возрастаИтоги — Истина или ложьПотренируйтесь самостоятельно: Онлайн-компилятор Ruby