Цикл 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, и цикл останавливается.
Задание
НовичокНапишите программу, которая получает одно входное значение — число 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