Как остановить рекурсивную функцию в python?

Пользователь

от hattie , в категории: Python , 2 месяца назад

Как остановить рекурсивную функцию в python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от aubree , 2 месяца назад

@hattie 

Рекурсивная функция в Python может быть остановлена с помощью условных операторов, которые проверяют, выполнилось ли определенное условие для завершения рекурсии.


Например, предположим, у вас есть рекурсивная функция, которая считает сумму всех чисел от 1 до n:

1
2
3
4
5
def recursive_sum(n):
    if n == 0:
        return 0
    else:
        return n + recursive_sum(n-1)


Вы можете остановить рекурсию, когда некоторое условие выполнено, например:

1
2
3
4
5
def recursive_sum(n):
    if n == 0 or n < 0:
        return 0
    else:
        return n + recursive_sum(n-1)


В этом случае, если n равно 0 или меньше 0, функция возвращает 0 и рекурсия останавливается.