Оператор break в Python
breakЭто ключевое слово в Python, используемое для немедленного завершения цикла.
Когда программа доходит доbreakон немедленно выходит из текущей структуры цикла (будь то for или while) и больше не выполняет оставшийся код в цикле.
Значение слова: breakОно означает «break, прерывание» и используется для завершения циклов.
Базовый синтаксис и параметры
breakЭто отдельный оператор, и он не требует никаких параметров.
Формат синтаксиса
while 条件:
if 退出条件:
break
# 其他代码
Сценарии использования
- Досрочный выход: Немедленный выход из цикла при выполнении определённого условия.
- Завершение поиска: Выход из поиска после нахождения цели.
- Выход из бесконечного цикла: Используйте вместе с while True и выходите с помощью break.
Примеры
Пример 1: Использование в цикле for
Пример
# Найти первое чётное число в списке
numbers = [1, 3, 5, 6, 7, 8, 9]
for num in numbers:
if num % 2 == 0:
print(f"Найдено первое чётное число: {num}")
break
print("Поиск завершён")
numbers = [1, 3, 5, 6, 7, 8, 9]
for num in numbers:
if num % 2 == 0:
print(f"Найдено первое чётное число: {num}")
break
print("Поиск завершён")
Ожидаемый вывод:
找到第一个偶数: 6 搜索结束
Пояснение к коду:
- Пройти по списку и немедленно выйти после нахождения первого чётного числа.
- Больше не продолжать обход оставшихся элементов.
Пример 2: Использование в цикле while
Пример
# Накапливать, пока не превысит 100
total = 0
i = 1
while True:
total += i
if total > 100:
print(f"Когда i = {i}, сумма впервые превышает 100")
break
i += 1
print(f"Итого: {total}") # Вывод: Итого: 105
total = 0
i = 1
while True:
total += i
if total > 100:
print(f"Когда i = {i}, сумма впервые превышает 100")
break
i += 1
print(f"Итого: {total}") # Вывод: Итого: 105
Ожидаемый вывод:
Когда сумма превышает 100, немедленно выйти из цикла.
Пример 3: break во вложенных циклах
Пример
# Вложенный цикл: break завершает только внутренний цикл
for i in range(1, 4):
for j in range(1, 4):
if i == 2 and j == 2:
break # Завершает только внутренний цикл
print(f"({i}, {j})", end=" ")
print() # Перевод строки
for i in range(1, 4):
for j in range(1, 4):
if i == 2 and j == 2:
break # Завершает только внутренний цикл
print(f"({i}, {j})", end=" ")
print() # Перевод строки
Ожидаемый вывод:
(1, 1) (1, 2) (1, 3) (2, 1) (2, 3) (3, 1) (3, 2) (3, 3)
Пояснение к коду:
- break завершает только самый внутренний цикл, в котором он находится.
- Внешний цикл продолжает выполняться.
Пример 4: Использование с else
Пример
# break приводит к тому, что else не выполняется
for i in range(5):
if i == 3:
print("Цель найдена, досрочный выход")
break
print(i)
else:
print("Цикл завершён нормально, цель не найдена")
print("---")
# Нормальное завершение (без break)
for i in range(5):
print(i)
else:
print("Цикл завершён нормально, else выполняется")
for i in range(5):
if i == 3:
print("Цель найдена, досрочный выход")
break
print(i)
else:
print("Цикл завершён нормально, цель не найдена")
print("---")
# Нормальное завершение (без break)
for i in range(5):
print(i)
else:
print("Цикл завершён нормально, else выполняется")
Ожидаемый вывод:
0 1 2 找到目标,提前退出 --- 0 1 2 3 4 循环正常结束,else 执行
В структуре for-else или while-else break приводит к тому, что блок else не выполняется.
Другие расширения
Операторы цикла Python3