Back to questions
Junior — Middle
60
Можете объяснить принцип работы рекурсивных функций в языке Python?
Companies where asked
Employ City
Институт человека РОМИР
Answer from AI
sobes.tech AI
Рекурсивная функция в Python — это функция, которая вызывает сама себя для решения задачи, разбивая её на более простые подзадачи. Рекурсия обычно используется для задач, которые естественно разбиваются на подобные подзадачи, например, вычисление факториала, обход деревьев, поиск в графах.
Принцип работы:
- Функция вызывает сама себя с изменённым аргументом.
- Каждый вызов создаёт новый фрейм в стеке вызовов.
- Рекурсия должна иметь базовый случай (условие выхода), чтобы избежать бесконечных вызовов.
Пример вычисления факториала:
def factorial(n):
if n == 0:
return 1 # базовый случай
else:
return n * factorial(n - 1) # рекурсивный вызов
print(factorial(5)) # Выведет 120
Здесь factorial(5) вызывает factorial(4), затем factorial(3) и так далее, пока не достигнет factorial(0), после чего начинается возврат значений вверх по стеку.