运行如下代码,请输出运算结果?( )
def fun(lst): if len(lst) == 0: return 0 return lst[0] + fun(lst[1:]) x = [1,2,3,4,5] print(fun(x))
刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
运行如下代码,请输出运算结果?( )
def fun(lst): if len(lst) == 0: return 0 return lst[0] + fun(lst[1:]) x = [1,2,3,4,5] print(fun(x))
这是一个递归函数的问题。函数fun接受一个列表lst作为参数,如果列表的长度是0,则返回0;否则,返回列表的第一个元素加上对剩余列表(除第一个元素外)调用fun函数的结果。对于列表x = [1,2,3,4,5],其递归过程如下:
fun([2,3,4,5])。2 + fun([3,4,5])。fun([3,4,5])的结果,再加上前面的结果得到2 + 3 + fun([4,5])。fun([4,5])的结果,再加上前面的结果得到2 + 3 + 4 + fun([5])。[5],此时返回该元素的值,即5。所以最终结果是 2 + 3 + 4 + 5 = 14。但由于初始调用时列表的第一个元素是1,所以最终输出结果是 1 + 14 = 15。本文链接:运行如下代码,请输出运算结果?( ) def fun(lst): if len(lst) ==
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!
