Python 函数递归

以下是一个使用递归计算阶乘的 Python 函数示例 :

javascript 复制代码
 '''
应用场景:
1. 动态规划问题:在一些需要逐步求解子问题并利用其结果的动态规划场景中,递归可以帮助直观地表达问题的分解和求解过程。
2. 遍历具有递归结构的数据:如递归定义的二叉树、链表等数据结构的遍历和操作。
3. 数学模型和算法:除了斐波那契数列,还有很多数学模型和算法可以用递归简洁地表示和求解。

代码注释:
'''

def fibonacci(n):
    """
    这个函数使用递归方式计算斐波那契数列的第 n 项

    参数:
    n (int): 要计算的斐波那契数列的索引,n 从 0 开始

    返回:
    int: 斐波那契数列第 n 项的值
    """
    if n <= 0:  # 处理边界情况,斐波那契数列的第 0 项为 0
        return 0
    elif n == 1:  # 斐波那契数列的第 1 项为 1
        return 1
    else:
        return fibonacci(n - 1) + fibonacci(n - 2)  # 递归调用,通过前两项计算当前项

# 测试
print(fibonacci(5))  # 输出斐波那契数列第 5 项的值
print(fibonacci(10))  # 输出斐波那契数列第 10 项的值

以上就是文章全部内容了,如果喜欢这篇文章的话,还希望三连支持一下,感谢!

相关推荐
传奇开心果编程4 分钟前
【Rust入门练中学】 第3课:数据类型
开发语言·学习·rust
TomEval26 分钟前
【测AI】第02篇:Python 环境搭建与基础语法速通
人工智能·python·功能测试·aigc
归去来 兮34 分钟前
LangChain从入门到精通
python·langchain·langgraph
泡泡鱼(敲代码中)38 分钟前
MySQL 学习笔记:DCL、函数与约束 —— 安全、效率、完整性的三板斧
开发语言·笔记·sql·学习·mysql·gitee
淘气的小猴子1 小时前
Python 魔术方法入门
python
我要见SA姐11 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
ide·vscode·python·自动化·编辑器
Tairitsu_H2 小时前
[C++] 拷贝构造还是赋值重载?类默认成员函数细节详解
开发语言·c++·类和对象
沉下心来学鲁班2 小时前
初识DeepAgents搭建第一个智能体
人工智能·python·langchain
goodlook01232 小时前
opencode调用本地模型一(1.18.30版本安装)
开发语言
菜鸟~noob2332 小时前
【电子战】第14篇:TOA 定位——圆交汇与到达时间【含matlab代码】
开发语言·matlab