@willa_will Для рекурсивной функции нужно вызывать функцию из этой же функции, но с другими аргументами.
1 2 3 4 5 6 7 8 |
def decriment(n : int): if (n <= 0) : print(n) else : decriment(n - 1) if __name__ == '__main__': decriment(100) # Вывод : 0 |
@willa_will
Рекурсивные функции в Python можно написать, указав условие выхода из рекурсии (base case), а также вызывая функцию внутри самой себя для уменьшения значения аргумента и достижения base case.
1 2 3 4 5 |
def factorial(n): if n == 0: return 1 else: return n * factorial(n-1) |
В этом примере функция factorial
вычисляет факториал числа n
. Base case устанавливается в n == 0
, где функция возвращает 1. В другом случае функция вызывает саму себя, уменьшая n
на 1, чтобы в конечном итоге дойти до base case.