Цикл While
Часть раздела Основы путешествия по Ruby на Coddy. Урок 40 из 88.
Цикл for отлично работает, когда вы точно знаете, сколько раз нужно выполнить повторение. Но что, если вы хотите продолжать цикл, пока не изменится определенное условие? Именно для этого и нужен цикл 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, чтобы вывести все числа от n до 1, каждое на отдельной строке. После завершения обратного отсчета выведите Blastoff! на новой строке.
На входе будет одно целое число, представляющее начальное число для обратного отсчета.
Например, если ввод равен 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