как работает это строка return a * power(a, n - 1)?
Есть функция которая возводит числов степень с помощью рекурсии не могу понять как здесь работает рекурсия Как питон перемножает эти все числа,когда в функции 2 аргумента?? Вот код:
def power(a, n):
if n == 0:
return 1
if n != 1:
return a * power(a, n - 1)
a = int(input())
n = int(input())
print(power(a, n))
Ответы (1 шт):
Автор решения: Victor VosMottor
→ Ссылка
Загуглите рекурсия. А вкратце так:
return a * power(a, n - 1)
Bызывается power(a, n - 1), значение на выходе умножается на a и возвращается. В свою очередь при вызове power(a, n - 1) происходит тоже самое, пока не будет достигнуто условие:
if n == 0:
return 1
i.e.:
power(4, 3) = 4 * power(4, 2) = 4 * (4 * power(4, 1)) = 4 * (4 * (4 * power(4, 0))) = 4 * 4 * 4 * 1 = 4³ = 64