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 项的值

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

相关推荐
白猫不黑29 分钟前
Python实现简易Web弱口令爆破与防护方案
python·web安全·计算机·网络安全·黑客·信息安全·渗透测试
郑州光合科技余经理1 小时前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
kuuailetianzi1 小时前
Python初识:定位、优势与发展历程
python
知识分享小能手1 小时前
C++ 学习教程,从入门到精通,C++ 入门知识 — 完整知识点(1)
开发语言·c++·学习
guoran_shini1 小时前
LLM微调-训练垂类问答模型
python·lora·sft
basketball6161 小时前
Python FastAPI 介绍以及常用方法
python·fastapi·vllm·ai infra
+VX:Fegn08951 小时前
计算机毕业设计|基于springboot + vue旅游管理系统(源码+数据库+文档)
java·开发语言·vue.js·spring boot·课程设计
论文复现现场2 小时前
企业知识库 RAG 用什么模型便宜?GLM-5.3-Flash 长文本 API 实测
python·rag·企业知识库·大模型api·glm-5.3-flash
梦在远山后2 小时前
从手写 Loop 到可恢复 Runtime:用 LangGraph、PostgreSQL Checkpoint 与 AG-UI 跑通中断恢复
python·langchain·agent
阿里嘎多学长2 小时前
2026-09-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管