递归函数定义:
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数。
递归函数的优缺点:
递归函数的优点: 定义简单,逻辑清晰,理论上,可以说所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰
递归函数的缺点: 使用递归函数需要注意防止栈溢出
递归函数的条件:
(1) 边界条件:确定递归到何时终止,也称为递归出口。
(2) 递归模式:大问题是如何分解为小问题的,也称为递归体。
斐波那契数列 0,1,1,2,3,5,8,13,21,34,55,89…
从第三个数开始,每个数都是前两个数的和
使用递归算法求指定位数的斐波那契数列的数据
#定义一个函数来计算斐波那契数列
def fibonacci(n):
# 来判断数列是否在2位以上
if n<=2:
# 只有1或2位的话则直接返还
return n-1
# 3位以上利用递归函数来计算比n小1位和小2位的数的和 如此循环知道计算出结果
return fibonacci(n-2)+fibonacci(n-1)
print(fibonacci(40))