Цикл 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, и цикл останавливается.
Задание
НовичокНапиши программу, которая получает одно входное значение — число типа float.
Используй цикл while, чтобы делить входное число на 2, пока оно больше или равно 3.5.
Выведи первое число, которое меньше 3.5.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 2
Логические операторы. Часть 1Логические операторы. Часть 2Повторение — простая логикаЛогические операторы. Часть 3Логические операторы. Часть 47Калькулятор разделения счёта
Приветственное сообщениеПолучение ввода13Списки: продвинутый уровень
Срезы списков. Часть 1Срезы списков. Часть 2Операторы последовательностейПринадлежность2Переменные
ЧислаСтрокаЛогический типСоглашения об именованииПустые переменныеПовторение — инициализация переменных8Циклы
Цикл forЦикл whileПрерывание циклаПереход к следующей итерацииПовторение: факториалФункция rangeВложенный циклПовторение: динамический ввод3Операторы. Часть 1
Арифметические операторыОператор остатка от деленияСокращённые арифметические операцииПовторение — простая математикаОператоры сравнения6Базовый ввод-вывод
ВыводВывод с переменнымиВводПреобразование типаПовторение — до 120Повторение — истина или ложь9Функции
Объявление функцииАргументыВозврат значенияПовторение — функция SigmaПовторение — функция проверкиЗначения по умолчанию12Перебор последовательностей
Перебор элементовФункция enumerateПеребор строк. Часть 1Перебор строк. Часть 2Потренируйтесь самостоятельно: Онлайн-компилятор Python