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
相关推荐
灰色小旋风1 分钟前
力扣合并K个升序链表C++
java·开发语言
_MyFavorite_4 分钟前
JAVA重点基础、进阶知识及易错点总结(28)接口默认方法与静态方法
java·开发语言·windows
取码网8 分钟前
最新在线留言板系统PHP源码
开发语言·php
环黄金线HHJX.12 分钟前
龙虾钳足启发的AI集群语言交互新范式
开发语言·人工智能·算法·编辑器·交互
书到用时方恨少!19 分钟前
Python Pandas 使用指南:数据分析的瑞士军刀
python·数据分析·pandas
不写八个26 分钟前
PHP教程006:ThinkPHP项目入门
开发语言·php
走粥36 分钟前
clsx和twMerge解决CSS类名冲突问题
前端·css
_MyFavorite_36 分钟前
JAVA重点基础、进阶知识及易错点总结(31)设计模式基础(单例、工厂)
java·开发语言·设计模式
Purgatory0011 小时前
layui select重新渲染
前端·layui
A.A呐1 小时前
【C++第二十三章】C++11
开发语言·c++