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
相关推荐
2401_8716965213 小时前
CSS如何解决Flex布局在老版本安卓机兼容性_使用autoprefixer工具
jvm·数据库·python
qq_2069013913 小时前
c++怎么把多个变量一次性写入二进制文件_结构体对齐与write【实战】
jvm·数据库·python
weixin_5806140013 小时前
golang如何给图片添加水印_golang图片添加水印解析
jvm·数据库·python
Shorasul13 小时前
mysql如何进行表空间传输恢复_mysql transport tablespace实战
jvm·数据库·python
怎么没有名字注册了啊13 小时前
解决qt制作软件.app迁移问题(发布)Mac
开发语言·qt
解救女汉子13 小时前
golang如何实现群聊功能_golang群聊功能实现策略
jvm·数据库·python
初圣魔门首席弟子13 小时前
上位机 & 上位机开发 详细介绍
python·信息可视化
llm大模型算法工程师weng13 小时前
Java高并发架构设计:从理论到实战的全链路解决方案
java·开发语言
gihigo199813 小时前
MATLAB地震面波数值模拟方案
开发语言·matlab
m0_6845019813 小时前
如何清理Oracle临时表空间_重建TEMP表空间与释放空间方案
jvm·数据库·python