May 4, 2025
АйДаКодить
Цикл while в Python: полное руководство для начинающих
Циклы — одна из ключевых конструкций в программировании, позволяющая выполнять повторяющиеся действия. В Python существует два основных типа циклов:
for— используется для перебора элементов последовательности (например, списка или строки).while— выполняется пока условие истинно.
В этой статье разберём цикл while: его синтаксис, применение и возможные ошибки.
1. Синтаксис цикла while
Цикл while повторяет блок кода, пока его условие остаётся истинным (True).
while условие:
# Тело цикла (выполняется, пока условие True)Пример 1: Простой счётчик
count = 0
while count < 5:
print(f"Счётчик: {count}")
count += 1 # Увеличиваем count на 1Счётчик: 0 Счётчик: 1 Счётчик: 2 Счётчик: 3 Счётчик: 4
Как только count становится равным 5, условие count < 5 становится False, и цикл завершается.
2. Бесконечный цикл и его прерывание
Если условие цикла всегда True, он будет выполняться бесконечно.
Пример 2: Бесконечный цикл
while True:
print("Этот цикл никогда не закончится!")
# Чтобы остановить программу, нажмите Ctrl+CКак прервать цикл?
Пример с break
while True:
user_input = input("Введите 'стоп' для выхода: ")
if user_input.lower() == "стоп":
print("Цикл завершён!")
break
print(f"Вы ввели: {user_input}")Введите 'стоп' для выхода: привет Вы ввели: привет Введите 'стоп' для выхода: стоп Цикл завершён!
Пример с continue
num = 0
while num < 5:
num += 1
if num == 3:
continue # Пропускаем 3
print(num)1 2 4 5
3. Цикл while с else
В Python у цикла while может быть блок else, который выполнится, если цикл завершился естественным образом (не через break).
Пример 3: while-else
count = 0
while count < 3:
print(count)
count += 1
else:
print("Цикл завершён без break!")0 1 2 Цикл завершён без break!
Если бы внутри цикла был break, блок else не выполнился бы.
4. Практические примеры
Пример 4: Проверка ввода пользователя
while True:
age = input("Введите ваш возраст: ")
if age.isdigit() and 0 < int(age) < 120:
print(f"Ваш возраст: {age}")
break
print("Ошибка! Введите число от 1 до 119.")Пример 5: Поиск числа в последовательности
numbers = [1, 3, 5, 7, 9]
index = 0
target = 5
found = False
while index < len(numbers):
if numbers[index] == target:
found = True
print(f"Число {target} найдено на позиции {index}!")
break
index += 1
else:
print("Число не найдено.")