Menu
Coddy logo textTech

Цикл 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 особенно полезен, когда вы заранее не знаете, сколько итераций потребуется.

challenge icon

Задание

Легко

Считайте из ввода число n. Используйте цикл while, чтобы вывести все numbers от n до 1 в порядке убывания, каждое в своей строке. После завершения обратного отсчёта выведите Blastoff! в новой строке.

Ввод будет представлять собой одно целое число, обозначающее starting число для обратного отсчёта.

Например, если ввод равен 5, вывод должен быть таким:

5
4
3
2
1
Blastoff!

Попробуйте сами

# Прочитать начальное число
n = gets.chomp.to_i

# TODO: Напишите ваш код ниже
# Используйте цикл while, чтобы вывести числа от n до 1
# Затем выведите точный текст из инструкций
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы

Потренируйтесь самостоятельно: Онлайн-компилятор Ruby