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