Menu
Coddy logo textTech

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

challenge icon

Задание

Легко

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

Входные данные будут представлять собой одно целое число — начальное число для обратного отсчета.

Например, если на вход подается 5, вывод должен быть следующим:

5
4
3
2
1
Blastoff!

Шпаргалка

Цикл while продолжает выполняться до тех пор, пока его условие остается истинным:

count = 1
while count <= 3
  puts count
  count += 1
end

Цикл проверяет условие перед каждой итерацией. Вы должны обновлять переменную внутри цикла, чтобы в конечном итоге условие стало ложным, иначе цикл будет выполняться бесконечно.

Пример обратного отсчета:

num = 5
while num > 0
  puts num
  num -= 1
end
puts "Done!"

Используйте циклы while, когда вы заранее не знаете, сколько итераций вам понадобится, или когда вы хотите выполнять цикл до тех пор, пока условие не изменится.

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

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

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

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

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