def recursiveadd(x,sum1):
if x > 0:
sum1 += x
recursiveadd(x-1,sum1)
else:
return sum1
print recursiveadd(100,0)
插入"打印sum1"添加后显示sum1正在增加,所以我不明白为什么函数返回None。我唯一能想到的是sum1在返回之前以某种方式重置为0,但我不知道为什么会这样。
答案 0 :(得分:10)
你需要写
def recursiveadd(x,sum1):
if x > 0:
sum1 += x
return recursiveadd(x-1,sum1)
else:
return sum1
print recursiveadd(100,0)
答案 1 :(得分:0)
In [52]: def rec(x, sum = None):
if sum == None:
sum = 0
if x > 0:
sum += x
return rec(x - 1, sum)
else:
return sum
....:
In [53]: rec(100)
Out[53]: 5050