Как сдеелать рекурсивный вызов функции python?

Аватар пользователя Elena Gromova
Elena Gromova
23 сентября 2024

В Python рекурсивный вызов функции осуществляется путем вызова функции внутри самой себя. Например:

def recursion_function(n):
    if n == 0:
        return
    print(n)
    recursion_function(n-1)

recursion_function(5)

В данном примере функция recursion_function вызывает саму себя с аргументом n-1, пока n не станет равным 0. Важно помнить об условии остановки рекурсии, чтобы избежать зацикливания. Для каждого вызова функции создается новый стек вызовов, что может привести к переполнению стека при слишком большой глубине рекурсии.

Также, в Python есть возможность установить предельную глубину рекурсии с помощью sys.setrecursionlimit(limit), но изменение этого параметра без необходимости не рекомендуется.

Важно оценить плюсы и минусы использования рекурсии перед ее применением, так как она может привести к увеличению потребления памяти и приведет к увеличению времени выполнения программы.

0 0