Sobes.tech
Junior — Middle
82

Ar galite paaiškinti rekursinių funkcijų veikimo principą Python kalboje?

Įmonės kur klausė
Employ City
Институт человека РОМИР

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