Цикл
while
в Python используется для повторного выполнения блока кода до тех пор, пока условие остается истинным. Этот цикл позволяет создавать итерации, которые продолжаются до тех пор, пока условие не станет ложным.Основная структура цикла
while
while условие:
# Блок кода, который выполняется, пока условие истинно
Простой цикл
while
count = 0
while count < 5:
print(count)
count += 1
В этом примере цикл будет выполняться до тех пор, пока значение переменной
count
меньше 5. Переменная count
увеличивается на 1 в каждой итерации.Операторы
break
и continue
в цикле while
Оператор
break
Оператор
break
используется для немедленного завершения цикла. Этот пример завершит цикл, когда count
станет равным 5.count = 0
while count < 10:
print(count)
if count == 5:
break
count += 1
Оператор
continue
Оператор
continue
пропускает оставшийся код в текущей итерации и переходит к следующей итерации цикла. Этот цикл будет выводить только нечетные числа от 1 до 9.count = 0
while count < 10:
count += 1
if count % 2 == 0:
continue
print(count)
Цикл
while
с блоком else
Блок
else
может быть использован с циклом while
. Он выполняется, когда условие становится ложным, но не выполняется, если цикл был завершен оператором break
. Этот пример выведет числа от 0 до 4, а затем строку "Цикл завершен."count = 0
while count < 5:
print(count)
count += 1
else:
print("Цикл завершен.")
Вложенные циклы
while
Циклы
while
могут быть вложены друг в друга для работы с более сложными структурами данных. Этот пример выведет комбинации значений i
и j
.i = 1
while i <= 3:
j = 1
while j <= 3:
print(f"i = {i}, j = {j}")
j += 1
i += 1
Обработка пользовательского ввода
Цикл
while
часто используется для обработки ввода пользователя, пока не будет введено допустимое значение.user_input = ""
while user_input.lower() != "exit":
user_input = input("Введите команду (или 'exit' для выхода): ")
print(f"Вы ввели: {user_input}")
Этот пример будет продолжаться, пока пользователь не введет "exit".
Бесконечный цикл
Цикл
while
, условие которого всегда истинно, является бесконечным циклом. Обычно такие циклы содержат оператор break
для выхода из них.while True:
user_input = input("Введите что-нибудь (или 'exit' для выхода): ")
if user_input.lower() == "exit":
break
print(f"Вы ввели: {user_input}")
Этот цикл будет продолжаться до тех пор, пока пользователь не введет "exit".
Избегание бесконечных циклов
Всегда убедитесь, что условие цикла
while
может стать ложным, чтобы избежать бесконечных циклов. Например, убедитесь, что внутри цикла есть изменение переменной, которая используется в условии.Используйте цикл
while
для повторного запроса ввода пользователя, пока не будет введено корректное значение.while True:
user_input = input("Введите число: ")
if user_input.isdigit():
num = int(user_input)
break
else:
print("Некорректный ввод, попробуйте еще раз.")
Отладка циклов
При отладке циклов
while
используйте печать промежуточных значений переменных, чтобы понять, как меняются условия и когда должен завершиться цикл.count = 0
while count < 5:
print(f"Перед увеличением count = {count}")
count += 1
print(f"После увеличения count = {count}")