我试图只使用递归(没有内置函数)编写一个函数,它使用两个数字x和y并产生总和
1 + x + x^2 + ... + x^(y-1) + x^y
请注意,我正在寻找一种方法来执行此操作不使用/ / strong>使用for / while循环,因为我还没有学习它们。到目前为止,我有以下功能:
def power_addition (x, y):
i = 0
if i < y:
i = i+1
return x**i + power_addition (x, y)
else:
return x**i
据我所知,代码因特定原因而中断。
答案 0 :(得分:6)
def sum_of_powers(x,y):
if y<=0: return 1
return x**y + sum_of_powers(x,y-1)