如何使用递归来产生权力之和?

时间:2016-12-22 16:04:51

标签: python

我试图只使用递归(没有内置函数)编写一个函数,它使用两个数字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

据我所知,代码因特定原因而中断。

1 个答案:

答案 0 :(得分:6)

def sum_of_powers(x,y):
    if y<=0: return 1
    return x**y + sum_of_powers(x,y-1)