递归

递归处理列表嵌套
def print_lol(the_list, indent=False, level=0):
for each in the_list:
if isinstance(each, list):
print_lol(each, indent, level+1)
else:
if indent:
for i in range(level):
print('\t', end='')
print(each)


list1 = [1, 2, [22, 'pop'], 3, "qw", [4, 5, 6, ['a', 'b']]]
print_lol(list1)

判断类型可以使用isinstance和type



递归处理阶乘
def fn(n):
if n == 1:
return 1
else:
result = n * fn(n-1)
return result


实现非波拉切数列
def fab(n):
if n < 1:
return -1
if n in (1,2):
return 1
if n > 2:
result = fab(n-1) + fab(n-2)
return result
 
posted on 2022-08-04 21:05  真的瞎胡闹  阅读(18)  评论(0)    收藏  举报