利用Python函数递归调用实现打印出一个列表中所有的元素【源码分享】


已知有列表:

     L = [[3,5,8], 10, [[13, 14], 15, 18], 20]

       1) 写一个函数print_list(lst) 打印出所有元素

         print_list(L)  # 打印 ....

    代码如下:

L = [[3,5,8],10,[[13,15],15,18],20]


def print_list(lst):

for l in lst:

if type(l) is int:

print(l)

elif type(l) is list:

print_list(l)


print_list(L)

    运行结果:

写一个函数print_list(lst) 打印出所有元素

       2) 写一个函数 sum_list(lst) 返回这个列表中所有元素的和

代码如下:


L = [[3,5,8],10,[[13,15],15,18],20]

def sum_list(lst):

n = 0

for l in lst:

if type(l) is int:

n += l

elif type(l) is list:

n += sum_list(l)

return n


print(sum_list(L))

运行结果:

写一个函数 sum_list(lst) 返回这个列表中所有元素的和

    注:

      type(x) 可以返回一个变量的类型

      如:

          type(20) is int        # 返回True

          type([1,2,3]) is list  # 返回True



质量分割线==============================================

1.今天这个题是相当于就是 打印出一个列表里面所有的元素不管你列表里面再次面对如果你再是那个里面但是你总让我还要找出就是 在深层次的所有元素有一个函数然后我们先定义一个列表要 写一个函数 print list 然后他的要求是要打印出这个传入的历史上的所有的元素 那么这个函数先定义放在这里我们先要先写出调用它的一个方法主任的下划线历史特挂号这个列表 那么这个函数内不能首先我们要判断判断它传入过来的是不是一个那个 如果他是列表我们一幅太补一个 lst太不他衣服他 鼻子 inter 如果他是个印度我们怎么支行 如果他是个硬头的话那我们就 直接责任的直接打印出没有HP直接打印出传传入的一个数据 然后再否则 le服 看不传入这个历史可以自历史的如果他是个列表我们怎么办 如果他是列表呢我们 在调用资深主任 你是的再把lz再传给他自己 我这个逻辑上好像有点错误 他这个运行的话肯定会报错 那么我们直接在这个函数的地方做 作为要小要因为这样子我们把下面的一副看到你给他说亲一下 那我相信的把这个衣服放到里面这些历史的全部改为l小l 我们在保存这样理论上应该是可以了我们一起看一下好运行看之后 然后得到我们想要的结果了OK好那么这个题目都这里的一下子就到这

2.那么第1题写完之后我们看第2题写一个函数上母下或向历史的传入的历史课我们先定义一个函数的 地府一个汤姆下画像历史的里面传入的样子的 返回这个列表所有元素的和那么跟上一提是差不多的 那直接就是 把先把这个上亿的代码上还是代码复制过来 那么我们就不用囤他这个小药了我们是在定一个上我就订一个吧等等于零如果太不会要一直硬壳的话我们家的鱼小药 否则我说我们继续回调递归调用自己这边不用改号然后调用完之后呢你看好看一下效果应该是会报错的这个没有毫无疑问肯定会有问题先看下结果明年好看 他果然是没有达到我们预期 到这个世上 他给我们的是30分明显不对 不应该是 加等于a return这边就明显不对我们应该是你家的鱼应该从这一步 从这里不要调用自己 为何要一直引导着旅游的用自己家等一下好像历史 好了我一个小药 这样子 但看上去没问题我们一行看一下效果运行一看是107他的结果107友们手动双一下打开文字串息DLC看一下三家+ 80 + 10 + 13 + 15 + 15 + 18 + 20 107号跟我们手动算了结果是一模一样那么这个题好完成大功告成厚片

最后编辑于:2019/08/01作者: 牛逼PHP

发表评论