递归是不断调用自身,最终触发结束条件,得出结果
先使用递归函数计算较为简单的阶乘
#用递归函数求5的阶乘
#首先创建一个函数,函数中需要一个形参
def fun(n):
if n == 1:
return 1 #这是给递归函数一个判断结束的条件
else:
return n * fun(n-1) #不断调用自身
print(fun(5)) #调用这个递归函数
之后用递归函数中较为经典的斐波那契数列来演示递归函数
#斐波那契数列(兔子数列)
#(0,1,1,2,3,5,8,13,21......)
#先找到此数列的规律,即从第三项开始,每一项都为此数列前两项之和
#还是先定义一个函数
def fun(n):
if n == 0:
return 0 #还是先给定结束条件
elif n == 1:
return 1 #因为此数列前两项是没有规律的,因此需要两个结束条件
else:
return fun(n-1)+fun(n-2) #不满足条件时调用自身,不断-1,直到满足结束条件
print(fun(5)) #调用此函数,打印此数列的第五项
这即为递归函数较为简单的应用。