递归处理列表嵌套
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