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
相关推荐
rabbitlzx12 小时前
《Async in C# 5.0》第十四章 深入探讨编译器对于async的转换
java·开发语言·c#·异步·asynchronous
神明不懂浪漫12 小时前
【第十三章】操作符详解,预处理指令详解
c语言·开发语言·经验分享·笔记
万少12 小时前
这可能是程序员离用AI赚钱最容易的一个机会了
前端·ai编程
MediaTea12 小时前
Python:类型槽位
开发语言·python
范什么特西13 小时前
狂神---死锁
java·前端·javascript
郝学胜-神的一滴13 小时前
深入解析Effective Modern C++条款35:基于任务与基于线程编程的哲学与实践
开发语言·数据结构·c++·程序人生
weixin1997010801613 小时前
易贝(eBay)商品详情页前端性能优化实战
前端·性能优化
小飞学编程...13 小时前
【Java相关八股文(二)】
android·java·开发语言
用户6000718191013 小时前
【翻译】Rolldown 工作原理解析:符号关联、CJS/ESM 模块解析与导出分析
前端
想睡好13 小时前
标签的ref属性
前端·javascript·html