【Python】递归函数

简介:

Python中的递归函数是一种调用自身的函数。递归是一种强大的编程技术,它允许函数通过调用自身的实例来解决复杂的问题。递归函数通常有两个主要部分:

  1. 基本情况(Base Case):这是递归结束的条件。没有基本情况,递归将无限进行下去,最终导致栈溢出错误。
  2. 递归步骤(Recursive Step):这是函数调用自身的部分。
一个函数在内部调用了其本身,那个这个函数就是递归函数,粗暴的理解:
函数内部自己调用自己
注意:
使用递归容易产生栈溢出的错误
递归一定要有出口,否则就是 " 死循环 " 的递归
递归的次数不能太多
1
:程序不断深入地调用自身,通常传入更小或更简化的参数,
直到达到 " 终止条件 "
:触发 " 终止条件 " 后,程序从最深层的递归函数开始逐层返
回,汇聚每一层的结果
以下案例是实现10以内的阶乘:
def jie_cheng ( num : int ) -> int :
    count = 1
    for i in range ( 1 , num + 1 ):
        count *= i
    return count
print ( jie_cheng ( 10 ))#3628800
递归如何实现?
递归思想
递归其主要思想在于:
  • 将问题分为规模更小的相同问题,持续分解,直到问题规模小到可以用非常简单直接的方式来解决。
  • 分解完后,再合并结果。


分析得递归的3个主要因素
1 递归调用 :对应 " " ,函数调用自身,通常输入更小或更简化的参数
2 终止条件 :用于决定什么时候由 " " " "
3 返回结果 :对应 " " ,将当前递归层级的结果返回至上一层


总结

递归是解决问题的一种优雅方式,但需要谨慎使用!!!,以确保程序的效率和稳定性。

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值