Цикл While
Часть раздела Fundamentals путешествия по Python на Coddy. Урок 36 из 77.
Цикл while отличается от цикла for. Цикл for позволяет нам выполнять итерации по определенному range, в то время как цикл while позволяет продолжать итерации до тех пор, пока выполняется определенное condition.
Чтобы использовать цикл while, напишите:
while condition:
codeКод выполнится, только если condition имеет значение True.
Условие обычно формируется с использованием операторов сравнения, таких как <= (меньше или равно), >= (больше или равно), < (меньше), > (больше) или == (равно). Цикл продолжается до тех пор, пока это сравнение возвращает 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 обновляет переменную на каждой итерации с помощью оператора составного присваивания. Как только power_of_two превысит number, условие станет False, и цикл остановится.
Задание
НовичокНапишите программу, которая получает один input — число float.
Используйте цикл while, чтобы делить input на 2, пока number больше или равен 3.5.
Выведите первое number, которое меньше 3.5.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Fundamentals
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