1、递归的定义
# 递归函数即自调用函数,在函数体内直接或间接调用自己,即函数的嵌套调用的是函数本身。
# 递归函数示例(阶乘)
#创建函数
def factorial(n):
if n ==0 or n ==1:
return 1
if n > 1:
return n*factorial(n-1)
#调用函数
for i in range(1,10):
print(i,'! = ',factorial(i))
2、递归的原理
# 终止条件:表示递归的结束条件。
# 递归步骤:把第n步的参数值的函数与第n-1步的参数值函数建立关联。
# 函数示例(调和函数)
#创建函数
def harmonic(n):
if n==1:
return 1
if n > 1:
return harmonic(n-1)+1/n
#调用函数
harmonic(3)
3、编写递归函数注意事项
'''
(1)必须设置终止条件:sys模块中设置最大迭代次数,getrecursionlimit\setresursionlimit
(2)必须保证收敛
(3)保证内存和运算消耗控制在一定范围之内
'''