递归 实例1

狂风中的少年 提交于 2020-03-22 07:44:20
已知有列表:L = [[3,5,8],10,[[13,14],15],18]1)写出一个函数print_list(lst)打印出列表中所有数字print_list(L)2)写出一个函数sum_list(lst)返回列表中所有数字的和print_list(sum_list(L))注:type(x) 可以返回一个变量的类型L = [[3,5,8],10,[[13,14],15],18]
def print_list(L):
    for x in L:
        if type(x) != list:    #判断对应元素是一个列表还是数值,如果是数值直接打印
            print(x,end=' ')
        else:                  #否则调用print_list()递归的将对应列表内元素进行打印
            print_list(x)

print_list(L)
执行结果:
3 5 8 10 13 14 15 18 
def sum_list(lst):
    val = 0
    for x in lst:
        if type(x) != list:
            val += x
        else:
            val+=sum_list(x)
    return val

print(sum_list(L))
执行结果:
86

 

  

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!