Цикл whileУрок 4 из 5
while True + break — паттерн
15 мин25 XP
Паттерн while True + break
Используется когда условие выхода проверяется в середине цикла:
pythonwhile True:
# делаем что-то
if условие_выхода:
break
# продолжаем
Пример: обработка до конца
pythondata = [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]
Пример: попытки с ограничением
pythonmax_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
Ctrl+Enter — выполнить · Ctrl+Shift+Enter — проверить
Результаты появятся здесь после выполнения кода.