def recursive_return(n):
if n == 0:
return n
return n + recursive_return(n-1)
print(recursive_return(3))
recursive_return(n)
вычисляет сумму чисел от 0 до n рекурсивно.
Для n=3
, вычисления будут: 3 + recursive_return(2)
, где recursive_return(2)
равно 2 + recursive_return(1)
, и recursive_return(1)
равно 1 + recursive_return(0)
. recursive_return(0)
возвращает 0.
Таким образом, recursive_return(3)
возвращает 3 + 2 + 1 + 0 = 6
.
Вывод программы: 6
.
Данный код содержит рекурсивную функцию recursive_return(n)
, которая вычисляет сумму чисел от 0 до n.
Работа функции:
n
равно 0, функция возвращает 0. Это необходимо для остановки рекурсии.n
не равно 0, функция возвращает n
плюс результат вызова самой себя с аргументом n-1
.Вызов функции и результат:
В конце кода происходит вызов print(recursive_return(3))
.
Разберем выполнение:
recursive_return(3)
вернет 3 + recursive_return(2)
recursive_return(2)
вернет 2 + recursive_return(1)
recursive_return(1)
вернет 1 + recursive_return(0)
recursive_return(0)
вернет 0
(базовый случай)Подставляем значения обратно:
recursive_return(1)
вернет 1 + 0 = 1
recursive_return(2)
вернет 2 + 1 = 3
recursive_return(3)
вернет 3 + 3 = 6
Таким образом, print(recursive_return(3))
выведет в консоль число 6.