Menu
Coddy logo textTech

Цикл While

Часть раздела Основы путешествия по Python на Coddy. Урок 36 из 77.

Цикл while отличается от цикла for. Цикл for позволяет нам выполнять итерации по определённому range, тогда как цикл while позволяет продолжать итерации, пока выполняется определённое condition.

Чтобы использовать цикл while, напишите:

while condition:
	code

Код будет выполняться только если condition — True.

Обычно condition формируется с использованием операторов сравнения, таких как <= (меньше или равно), >= (больше или равно), < (меньше), > (больше) или == (равно). loop продолжает выполняться, пока результат этого сравнения равен True, и останавливается, как только он становится False.

В теле цикла обычно необходимо update проверяемую переменную. Это делается с помощью операторов присваивания с выполнением операции, таких как += (сложить и присвоить), -= (вычесть и присвоить), *= (умножить и присвоить) или /= (разделить и присвоить). Например, x *= 2 — это сокращённая запись x = x * 2. Без обновления переменной условие никогда бы не изменилось, и цикл выполнялся бы бесконечно.

Существует множество случаев, когда while решит задачу, а цикл for — нет.

Например, рассмотрим такую задачу:

Найдите наименьшую степень числа 2, которая больше заданного числа.

Чтобы решить эту задачу, мы будем использовать цикл while, который будет неоднократно умножать текущую степень 2 на 2, пока она не станет больше заданного числа:

number = 27
power_of_two = 1

while power_of_two <= number:
    power_of_two *= 2

print(power_of_two)

Здесь power_of_two <= number — это условие, использующее оператор сравнения, а power_of_two *= 2 обновляет variable на каждой итерации с помощью оператора присваивания с модификацией. Как только power_of_two превышает number, условие становится False, и цикл останавливается.

challenge icon

Задание

Новичок

Напишите программу, которая получает одно входное значение — число float.

Используйте цикл while, чтобы делить входное значение на 2, пока число больше или равно 3.5.

Выведите первое число, которое меньше 3.5.

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

quiz iconПроверьте себя

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

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

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