Python Lab
Цикл whileУрок 4 из 5

while True + break — паттерн

15 мин25 XP

Паттерн while True + break

Используется когда условие выхода проверяется в середине цикла:

python
while True: # делаем что-то if условие_выхода: break # продолжаем

Пример: обработка до конца

python
data = [10, 20, 0, 30, 0, 50] i = 0 results = [] while True: value = data[i] i += 1 if value == 0: break results.append(value * 2) print(results) # [20, 40]

Пример: попытки с ограничением

python
max_attempts = 5 secret = 42 attempts = 0 # Симуляция: попытки [10, 25, 42] guesses = [10, 25, 42] while True: if attempts >= max_attempts or attempts >= len(guesses): print("Проиграл") break guess = guesses[attempts] attempts += 1 if guess == secret: print(f"Угадал за {attempts} попыток!") break

📌 Запомни

  • while True: с break внутри — альтернатива флагу
  • Полезен когда условие выхода в середине тела цикла
  • Обязательно должен быть выход (break), иначе бесконечный цикл

Квест

Коллатц: количество шагов

15 мин35 XP

Последовательность Коллатца для n = 6:

  • Если n чётное: n //= 2
  • Если нечётное: n = 3*n + 1
  • Стоп когда n == 1

Подсчитайте количество шагов до 1. Ожидаемый вывод: 8

Результаты появятся здесь после выполнения кода.