Python学习笔记 - 递归函数

本内容均来自在北京图灵学院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("你输入的不
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值