第49讲:函数(IX)
下面代码利用递归实现将列表的各个元素进行相加,请补全红色方框中的代码,使其能够成功执行并获取结果。>>> def recsum(x):
... if not x:
... return 0
... else:
... #补充这里的代码
recsum()
15
答案:
>>> def recsum(x):
... if not x:
... return 0
... else:
... return x + recsum(x)
大佬们,请问答案里的return x + recsum(x)到底是怎么计算的,过程可以展开下么{:10_266:}看了半天看不懂 本帖最后由 lxping 于 2022-12-8 19:56 编辑
x + recsum(x)=x + x + recsum(x) 一直这样迭代下去,直到传入 recsum(x)的参数问空的时候,执行 if not x: return 0,结束迭代
其实就是利用切片将列表x中的元素一个一个提取出来,然后相加
x + recsum(x) = 1 +recsum( ) = 1 + 2 + recsum( ) = 1 + 2 + 3 + recsum( ) = 1 + 2 + 3 + 4 + recsum( ) = 1 + 2 + 3 + 4 + 5 + recsum( [] )
x =
x =
x =
lxping 发表于 2022-12-8 19:50
x + recsum(x)=x + x + recsum(x) 一直这样迭代下去,直到传入 recsum(x)的 ...
{:10_254:}三克油 333
页:
[1]