13. 递归函数

  1. 递归函数:函数或者其它代码都可以解决

官网规定:默认递归的最大深度1000次。如果你递归超过100次还没有解决这个问题,那么执意使用递归,效率很低。

import sys
print(sys.setrecursionlimit(1000000))

def func(n):
    print(n)
    n += 1
    func(n)
func(1)

计算年龄:

def age(n):
    if n == 1:
        return 18
    else:
        return age(n-1) + 2

print(age(4))
'''
def age(4):
    if n == 1:
        return 18
    else:
        return age(3) + 2

age(4) = age(3)  + 2

def age(3):
    if n == 1:
        return 18
    else:
        return age(2) + 2
age(4) = age(2) + 2  + 2


def age(2):
    if n == 1:
        return 18
    else:
        return age(1) + 2
age(4) = age(1) + 2 + 2  + 2    

def age(1):
    if n == 1:
        return 18
    else:
        return age(1) + 2

age(4) = 18 + 2 + 2  + 2    
'''

打印列表中所有的元素:

 l1 = [1, 3, 5, ['小王','小红', 34, [33, 55, [11,33]]], [77, 88],66]
 def func(alist):
 	for i in alist:
 		if type(i) == list:
 			func(i)
 		else:
 			print(i)
func(l1)

.

原文地址:https://www.cnblogs.com/pythonblogs/p/11135199.html