python的函数与递归

需求:

编写一个函数,计算斐波那契数列的第 N 项,并使用递归实现。

为了计算斐波那契数列的第 N 项,可以使用递归方法。斐波那契数列的定义是:

F(0) = 0

F(1) = 1

对于 n >= 2,F(n) = F(n-1) + F(n-2);

递归方法:

递归的核心思想是每次通过将问题分解为更小的子问题来解决。在斐波那契数列的计算中,我们可以通过递归调用来计算 F(n)。

代码实现:

python 复制代码
def fibonacci(n):
    # 基本情况:F(0) = 0, F(1) = 1
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        # 递归计算 F(n-1) 和 F(n-2)
        return fibonacci(n-1) + fibonacci(n-2)

if __name__ == '__main__':
    # 输入一个整数 N,计算斐波那契数列的第 N 项
    try:
        n = int(input("请输入一个整数 N 来计算斐波那契数列的第 N 项: "))
        if n < 0:
            print("请输入一个非负整数!")
        else:
            print(f"斐波那契数列的第 {n} 项是: {fibonacci(n)}")
    except ValueError:
        print("请输入有效的整数!")

示例运行:

输入:

python 复制代码
请输入一个整数 N 来计算斐波那契数列的第 N 项: 6

输出:

python 复制代码
斐波那契数列的第 6 项是: 8
相关推荐
feifeigo1231 分钟前
基于布谷鸟算法的配电网分布式电源选址定容 MATLAB 实现
开发语言·算法·matlab
用户4445543654262 分钟前
AndroidAutoSize使用时遇到的特麻烦bug
前端
Mike117.4 分钟前
GBase 8a 宽表查询里的压缩和行存列取舍
java·开发语言·数据库
茉莉玫瑰花茶6 分钟前
LangGraph 入门教程:构建 AI 工作流 [ 案例三 ]
前端·人工智能·python
辰尘_星启7 分钟前
【ROS2】 Python 节点的开发流程
开发语言·python·机器人·系统·控制·ros2
scan72410 分钟前
pydantic格式输出
服务器·前端·javascript
计算机安禾10 分钟前
【c++面向对象编程】第12篇:继承(二):构造与析构顺序,继承中的构造函数
开发语言·c++
知识分享小能手12 分钟前
R语言入门学习教程,从入门到精通,R语言获取数据 (7)
开发语言·学习·r语言
m0_6245785914 分钟前
SQL数据更新时如何减少锁表时间_合理控制事务边界与并发
jvm·数据库·python
曲幽15 分钟前
让 FastAPI Agent 思考不阻塞:手把手教你实现异步任务与后台处理方案
redis·python·agent·fastapi·web·async·celery·ai agent·backgroundtask