0 знаков
34. Цикл while в Python
Кратко- Цикл
while
в Python предназначен для выполнения блока кода до тех пор, пока условие истинно.- Основное отличие применения цикла
while
отfor
- неизвестно точное количество итераций.- В Python нет операторов
++
и--
, поэтому используется эквивалентная записьi += 1
.- В уроке представлен пример игры с угадыванием числа с использованием цикла
while
и библиотекиrandom
.- Инструкция
while/else
позволяет выполнить блок кода после завершения цикла.- В следующем уроке будут рассмотрены операторы
break
,continue
иpass
в Python.
Ранее вы познакомились с циклом for
, так же вы уже знаете основные структуры данных в Python. Познакомимся со вторым циклом – while
.
Цикл while
предназначен для выполнения блока кода до тех пор, пока какое-то условие истинно. Синтаксис цикла while
в Python представлен ниже:
while условие:
инструкция 1
инструкция 2
...
Чаще всего цикл while
используется, когда неизвестно точное количество итераций цикла (итерация – это один шаг цикла, т.е. одно выполнение всего блока кода этого цикла). Это основное отличие цикла while
от for
.
После того, как условие в цикле while
становится ложным, работа цикла прекращается и управление передается следующей инструкции (в примере, инструкции 3
):
while условие:
инструкция 1
инструкция 2
инструкция 3
Рассмотрим пример:
i = 1
while i <= 10:
print(i)
i += 1
В этом примере мы выводим в консоль цифры от 1
до 10
при помощи цикла while
. Сначала нам необходимо инициализировать переменную i
, чтобы с каждой итерацией цикла мы могли увеличивать ее на единицу. Согласен, это пример не показывает различие цикла while
и for
.
Обратите внимание, в Python нет операторов ++
и --
, которые имеются во многих языках программирования. Поэтому мы используем эквивалентную запись i += 1
.
Рассмотрим следующий:
count = 1
i = int(input())
while (i != 10):
i = int(input())
count += 1
print(count)
Получилась небольшая игра, где пользователь вводит число до тех пор, пока не угадает. Если вспомним урок про генерацию случайных чисел, то можно улучшить нашу игру.
import random
count = 1
rand_number = random.randint(1, 10)
i = int(input())
while (i != rand_number):
i = int(input())
count += 1
print(count)
Здесь мы подключаем библиотеку random
, после чего инициализируем переменную count
для подсчета попыток угадать число. Генерируем случайное число при помощи метода randint()
и сохраняем в переменной rand_number
. Далее предлагаем пользователю ввести число. После это число сравнивается с условием в цикле while
и, в зависимости от результата, выполняются инструкции в цикле while
n-ое количество раз, пока условие не будет ложным.
Инструкция while/else
После цикла while
можно указать ключевое слово else
:
while условие:
инструкция
else:
инструкция
Блок else
будет выполнен один раз после завершения цикла. Казалось бы, зачем это нужно, если инструкции и так будут выполняться после завершения цикла. Смысл появится, когда мы познакомимся с инструкцией break в следующем уроке. Мы еще вернемся к инструкции while/else
.
В этом уроке мы познакомились с циклом while
, который позволяет выполнять блок кода до тех пор, пока условие истинно. В следующем уроке разберемся с операторами break
, continue
и pass
в Python.
Тест
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ