Умеешь ли работать с рекурсией в Python

Python Middle Без компании
Умеешь ли работать с рекурсией в Python
Ответы
Да, умею работать с рекурсией. Рекурсия — это когда функция вызывает саму себя. В Python она полезна для задач, которые можно разбить на подзадачи того же типа (например, обход деревьев, факториалы, числа Фибоначчи). **Пример с факториалом:** ``` def factorial(n): if n == 0 or n == 1: # базовый случай return 1 else: return n * factorial(n - 1) # рекурсивный вызов ``` **Важно:** - Базовый случай обязателен, иначе рекурсия уйдёт в бесконечность. - В Python есть ограничение на глубину рекурсии (`sys.getrecursionlimit()`), поэтому для больших задач лучше использовать итерации. - Хвостовая рекурсия не оптимизируется в Python (в отличие от некоторых других языков). Для сложных структур (например, деревьев) рекурсия часто читается проще, чем итеративный вариант.