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.

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

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

Чтобы решить эту задачу, мы используем цикл 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