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
相关推荐
OpenTiny社区19 小时前
TinyEngine 2.10 版本发布:零代码 CRUD、云端协作,开发效率再升级!
前端·vue.js·低代码
-小麦子-19 小时前
Python 变量组包、解包及星号扩展机制详解
开发语言·python
哟哟-19 小时前
Nginx配置:静态文件访问时动态添加时间戳
运维·前端·javascript·nginx
Jia ming20 小时前
编程思维VS法律思维:Python教学双轨制
python·教学
码云数智-园园20 小时前
自助建站哪个好?三款主流自助建站对比评测
前端
肆忆_20 小时前
C++ 汇编层面与语法语义层面总结:this指针 模板 块级作用域 引用
前端
用户40993225021220 小时前
Vue中默认插槽、具名插槽、作用域插槽如何区分与使用?
前端·vue.js·github
tod11320 小时前
Redis - 客户端基本介绍
开发语言·数据库·redis·缓存
zheshiyangyang20 小时前
前端面试基础知识整理【Day-3】
前端·word
赵谨言20 小时前
运用Python编程计算减压孔板孔口直径的研究
大数据·开发语言·经验分享·python