递归函数

 

#递归函数:自己调自己

# def xxx():
#     a=1
#     b=1
#     print('xxx')
#     xxx()
#
# xxx()
#超过了最大的递归深度,官方给的最大深度是1000次

#设置递归深度
from sys import setrecursionlimit

# setrecursionlimit(1000000)
# def xxx():
#     a=1
#     b=1
#     print('xxx')
#     xxx()
#
# xxx()

#执行不到1000000次,程序会因为内存溢出就结束了
#什么是递归?
#往下叫递,回来叫归
# lst=['a1','a2',['a3','a4',['b1','b2',['b3','b4']]]]
# def func(lst):
#     for i in lst:
#         if isinstance(i,list): #判断i的类型是不是list   等于if type(i)==list
#             func(i)
#         else:
#             print(i)
#
# func(lst)

 

#练习
l=[1,[90,80.2],4,[5,6,7,8,[6,3,2,1,]]]
#求列表中所有元素的和

#全局变量实现
# sum=0
# def func(l):
#     global sum
#     for i in l:
#         if isinstance(i,list):
#             func(i)
#         else:
#             sum+=i
#     return sum
#
# ret=func(l)
# print(ret)

#局部变量实现
# def func(l):
#     sum=0
#     for i in l:
#         if isinstance(i,list):
#             ret=func(i)
#             sum += ret
#         else:
#             sum+=i
#     return sum
#
# ret = func(l)
# print(ret)

 

posted @ 2022-06-28 20:11  爱coding的果妈  阅读(42)  评论(0)    收藏  举报