Sobes.tech
Junior — Middle
83

¿Puedes explicar el principio de funcionamiento de las funciones recursivas en Python?

Empresas donde se preguntó
Employ City
Институт человека РОМИР

Respuesta de la IA

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), после чего начинается возврат значений вверх по стеку.