- 6 августа 2025
- 5 минут
- 197
Назначение и синтаксис цикла while в Python
Статью подготовили специалисты образовательного сервиса Zaochnik.
Цикл `while` ("пока") в Python выполняет заданный набор действий до того времени, пока истинно проверяемое условие.
Условие указывается перед телом цикла и проверяется до начала его выполнения.
Обычно цикл `while` применяется, когда заранее неизвестно точное количество итераций.
Синтаксис цикла while
Синтаксис цикла `while` в самом простом виде выглядит следующим образом:
```python
while условие:
блок инструкций
```
- Во время работы цикла сначала проверяется условие.
- Если оно оказывается ложным, цикл завершается, и управление передается следующей инструкции после тела цикла.
- Если условие истинно, исполняется блок инструкций, затем происходит повторная проверка условия и выполнение инструкции продолжается до того момента, когда условие остается истинным.
- Как только условие становится ложным, работа цикла заканчивается, и управление переходит к следующей инструкции.
Например, следующий код выведет на экран значение целых чисел в диапазоне от 1 до 10 в квадрате:
```python
num = 1
while num <= 10:
print(num)
num += 1
```
В представленном примере переменная `num` изменяется в диапазоне от 1 до 10. Эта переменная, значение которой изменяется с каждой итерацией, называется счетчиком.
По завершении выполнения данного кода переменная `num` будет равна 11, поскольку именно при `num==11` условие `num<=10` впервые станет ложным.
Таким образом, цикл `while` может заменить цикл `for … in range(…)`.
В качестве еще одного примера использования цикла `while` в Python при определении количества цифр в натуральном числе `numN`:
```python
numN = int(input())
length = 0
while numN > 0:
numN //= 10
length += 1
```
В таком цикле происходит отбрасывание по одной цифре числа, начиная с конца, что равнозначно целочисленному делению числа на 10 (`numN //= 10`), в то же время подсчитываем в переменной `length`, количество раз, сколько это делается.
В Python существует другой способ решения подобной задачи: `length = len(str(i))`.
Операторы break и continue в цикле while в Python
Операторы `break` и `continue` позволяют контролировать выполнение циклов.
Когда встречается `break`, цикл немедленно прекращает свою работу, а `continue` пропускает оставшиеся инструкции текущей итерации и переходит к следующему повторению цикла.
Пример использования операторов `break` и `continue` в цикле `while` в Python:
```python
# Цикл с оператором break
for i in range(10):
if i == 7:
print("Дошли до числа 7 — прервем цикл")
break
print(i)
print("\nПродолжение программы\n")
# Цикл с оператором continue
for j in range(10):
if j % 2 != 0:
print(f"Пропускаем нечётное число {j}")
continue
print(j)
```
Таким образом, операторы `break` и `continue` позволяют гибко управлять потоком выполнения в циклических конструкциях.
Бесконечный цикл while в Python
Бесконечный цикл в Python создается таким образом, чтобы условие выхода из него было всегда ложным или вовсе отсутствовало. Наиболее простой способ реализовать бесконечный цикл — использовать конструкцию `while True`.
Вот классический пример бесконечного цикла:
```python
while True:
# Код, выполняемый бесконечно
pass
```
Важно помнить, что подобный цикл может привести к зависанию программы, если не предусмотреть способ выхода из него вручную (например, с помощью клавиши прерывания).
Для безопасного завершения бесконечного цикла рекомендуется добавить механизм остановки прямо внутри самого цикла. Например, проверяя условие:
```python
stop = False
while not stop:
user_input = input("Хотите выйти? (y/n): ")
if user_input.lower() == 'y':
stop = True
```
Снова подчеркиваем отличие цикла `while` от цикла `for`: `while` применяется, когда заранее неизвестно, сколько раз нужно повторить определенное действие.