Урок 12. Цикл while

📁 Блок: Python Fundamentals / Циклы ⏱️ Время изучения: ~90 мин 🎯 Сложность: Начальная
#while #break #if #continue #else #random #randint #choice #print #input #is #from #not #import #in #or #int #str #round #factorial #for #elif #add #with #pass #isdigit #lstrip #try #float

⚡ Кратко: суть темы

Цикл while повторяет блок кода, пока условие истинно. На каждой итерации Python заново проверяет условие; как только оно становится ложным, цикл завершается. Для управления итерациями используют break (прервать цикл) и continue (перейти к следующей итерации). Конструкция while/else выполняет блок else только при естественном завершении цикла, без break. Модуль random из стандартной библиотеки помогает генерировать случайные числа.

  • Инициализируйте переменную цикла, задайте условие и обновляйте переменную внутри тела.
  • break выходит из цикла; continue пропускает оставшийся код текущей итерации.
  • Бесконечный цикл while True: полезен для пользовательского ввода, но требует явного break.
  • random.randint(a, b) возвращает целое от a до b включительно; random.randrange(start, stop, step) — как range.

Что запомнить: условие цикла проверяется перед каждой итерацией; если забыть изменить переменную цикла, получится бесконечный цикл.

Топ-3 ошибки: забыть отступ у тела цикла; не обновлять переменную цикла; путать break и continue.

📖 О чём этот урок

Этот урок знакомит с первым циклом в курсе — while. В отличие от оператора if, который выполняет код один раз при истинном условии, цикл while повторяет код снова и снова, пока условие остаётся истинным. Это позволяет автоматизировать повторяющиеся действия: счётчики, накопление суммы, обработку пользовательского ввода, игры с попытками.

Мы разберём операторы break и continue, конструкцию while/else, случайные бесконечные циклы и модуль random. Урок сохраняет структуру исходной лекции, но дополняет современными практиками: guard clauses, f-strings, валидацию ввода и оператор «морж» := как современный способ чтения данных в цикле.

🎯 Цели урока

  • Понимать, как работает цикл while с предусловием.
  • Использовать break для досрочного выхода из цикла.
  • Использовать continue для пропуска части итерации.
  • Отличать естественное завершение цикла от прерывания через break с помощью while/else.
  • Распознавать и предотвращать случайные бесконечные циклы.
  • Генерировать случайные числа модулем random.
  • Решать задачи на счётчики, накопление суммы и интерактивный ввод.

📚 Что повторить перед изучением

  • ← Урок 11: Summary session 3
  • Операторы ветвления if/elif/else.
  • Преобразование типов: int(), float(), str().
  • Ввод и вывод: input(), print(), f-strings.
  • Импорт модулей из стандартной библиотеки.

🎯 Что изучать дальше