本内容均来自在北京图灵学院Python免费全栈学习的课堂笔记
递归函数
- 函数直接或者简介调用自己的函数
- 优点:简洁,理解容易
- 缺点:对递归深度有限,消耗资源大
- python对递归深度有限制,超过限制会报错
- 写递归程序的时候一定要注意递归结束条件
# 递归函数调用深度限制案例
# 这样编写在java中会直接报错,但在python中会执行到最大限制再报错
# 这也体现了编译型语言和解释型语言的区别
x = 0
def fun():
global x
x += 1
print(x)
fun()
return None
# 调用函数
fun()
案例:
#斐波那契数列
#一列数字,第一个值是1,第二个也是1,从第三个开始,每一个数字的值等于前两个数字之和
#数学公式:f(1)=1,f(2)=1,f(n)=f(n-1)+f(n-2)
#例如:1,1,2,3,5,8,13......
#求n个斐波那契数列的值
def fib(n):
if(isinstance(n,int)):
if(n == 1 or n == 2):
return 1
elif(n>2):
return fib(n-1)+fib(n-2)
elif(n<0):
print("不能输入负数")
return None
else:
print("你输入的不