Menu
CoddyTech

Цикл While

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

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

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

while condition:
	code

Код будет выполняться только в том случае, если условие равно True.

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

В теле цикла обычно необходимо обновлять проверяемую переменную. Это делается с помощью составных операторов присваивания, таких как += (сложение и присваивание), -= (вычитание и присваивание), *= (умножение и присваивание) или /= (деление и присваивание). Например, 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 обновляет переменную на каждой итерации с помощью оператора присваивания с изменением. Как только power_of_two превышает number, условие становится False, и цикл останавливается.

challenge icon

Задание

Новичок

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

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

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

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

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

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

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

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