带递归函数的列表元素Python求和

带递归函数的列表元素Python求和,python,python-3.x,Python,Python 3.x,我编写的代码收集列表中的所有元素。我希望在不破坏这种递归结构的情况下,对列表中的前5位进行求和。当我给函数赋值[3,1,4,0,4,2]时,结果应该是12。你能帮我吗你能给递归函数添加两个参数吗 def listsum(numList,n): 如果len(numList)==1: 返回numList[0] 其他: 返回numList[0]+listsum(numList[1:n],n-1) a=[3,1,4,0,4,2] 打印(“总和:”,列表总和(a,5)) 您可以为函数指定一个计数器变量:

我编写的代码收集列表中的所有元素。我希望在不破坏这种递归结构的情况下,对列表中的前5位进行求和。当我给函数赋值[3,1,4,0,4,2]时,结果应该是12。你能帮我吗你能给递归函数添加两个参数吗

def listsum(numList,n):
如果len(numList)==1:
返回numList[0]
其他:
返回numList[0]+listsum(numList[1:n],n-1)
a=[3,1,4,0,4,2]
打印(“总和:”,列表总和(a,5))

您可以为函数指定一个计数器变量:

Sum: 12
这会将计数器的值设置为0,如果它不是作为参数给定的,那么您不必在想要使用函数时总是设置它。然后检查它是否已经完成了5次迭代或者已经到达列表的末尾。然后你只需增加它。

好的,你试过什么吗?在这里使用递归真的没有意义,所以这可能是某种练习,在这种情况下,你真的应该至少尝试一些东西。
Sum: 12
def listsum(numList, counter=0):
    if len(numList) == 1 or counter == 4:
        return numList[0]
    else:
        return numList[0] + listsum(numList[1:], counter + 1)