Умеешь ли работать с рекурсией в 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 (в отличие от некоторых других языков).
Для сложных структур (например, деревьев) рекурсия часто читается проще, чем итеративный вариант.