可能重复:
调用 func。改变输入
我必须编写一个递归函数,该函数接受输入中的数字列表并在输出中返回数字列表,例如这样调用:
rec_cumsum([2,2,2,3])
输出应该是这样的:
[2,4,6,9]
问题是,我似乎无法解决这个问题..这让我质疑我的整个递归思维..到目前为止我所拥有的是:
newlist = []
k = 1
def rec_cumsum(numbers):
if len(numbers) == 0:
return 0
if len(numbers) > 1 and len(numbers) != (k+1):
newlist[k+1] == newlist[k+1] + newlist[k]
k = k+1
return rec_cumsum(numbers)
但我遇到了对我来说没有任何意义的错误。递归应始终采用该数字,并将其添加到它之前的数字,而不是将其保存在列表的下一个位置..(新的或原始的)