使用python求斐波那契数列中第n个数的值示例代码

想要使用Python求斐波那契数列中第n个数的值,我们需要先了解什么是斐波那契数列。斐波那契数列是指:从第三项起每一项都等于前两项之和。即:0、1、1、2、3、5、8、13、21、34、55、89、...,具体的计算公式为f(n) = f(n-1) + f(n-2),其中f(0)=0,f(1)=1。

下面示例程序演示Python实现斐波那契数列中第n个数的值:

def fibonacci(n):
    """求斐波那契数列中第n个数的值"""
    if n < 0:
        raise ValueError("n must be positive integer")
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fibonacci(n-1) + fibonacci(n-2)

if __name__ == '__main__':
    n = 10
    print(f"The {n}-th number in Fibonacci sequence is: {fibonacci(n)}")

上面的代码定义了一个函数 fibonacci(n),输入参数n表示需要求的斐波那契数列中的第n个数,函数返回该值。同时,还增加了异常处理,如果输入参数n为负数,则会抛出ValueError异常。

在主函数里调用 fibonacci(n) 即可实现求出斐波那契数列中的第n个数,并打印输出结果。上述代码中,我们设置 n=10,得到的输出结果是:“The 10-th number in Fibonacci sequence is: 55”。

下面再给出另一个示例代码,该代码使用循环求解斐波那契数列中第n个数,同样能够得到正确的结果:

def fibonacci(n):
    """求斐波那契数列中第n个数的值"""
    if n <= 0:
        raise ValueError("n must be positive integer")
    if n == 1:
        return 0
    elif n == 2:
        return 1
    else:
        a, b, i = 0, 1, 2
        while i < n:
            a, b = b, a+b
            i += 1
        return b

if __name__ == '__main__':
    n = 10
    print(f"The {n}-th number in Fibonacci sequence is: {fibonacci(n)}")

在上面的代码中,我们同样定义了一个函数 fibonacci(n),输入参数n表示需要求的斐波那契数列中的第n个数,函数返回该值。同时,我们使用循环遍历斐波那契数列,计算第n个值,并返回该值。

在主函数里调用 fibonacci(n) 即可实现求出斐波那契数列中的第n个数,并打印输出结果。上述代码中,我们同样设置 n=10,得到的输出结果是:“The 10-th number in Fibonacci sequence is: 34”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用python求斐波那契数列中第n个数的值示例代码 - Python技术站

(0)
上一篇 2023年6月5日
下一篇 2023年6月5日

相关文章

  • 深度解析Python线程和进程

    深度解析Python线程和进程 Python是一门高级编程语言,它支持多线程和多进程编程。但是线程与进程是操作系统层面的概念,因此在Python中,我们使用操作系统提供的多线程/多进程API来实现多线程/多进程编程。 本文将深度解析Python中的线程和进程,介绍它们的定义、工作原理以及使用方法。 线程 定义 线程是操作系统能够进行运算调度的最小单位,它被包…

    python 2023年5月19日
    00
  • 一文搞懂Python读取text,CSV,JSON文件的方法

    针对“一文搞懂Python读取text,CSV,JSON文件的方法”的完整攻略,我将分为以下几个部分进行讲解: 读取text文件的方法 读取CSV文件的方法 读取JSON文件的方法 示例说明 1. 读取text文件的方法 在Python中,我们可以使用built-in函数open()来读取text文件,并使用read()方法来读取文件内容。代码示例如下: w…

    python 2023年6月3日
    00
  • Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】

    Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】 函数的定义 定义方式 在Python中定义一个函数使用关键字def,后跟函数名称和括号,其中括号内可以定义函数的参数。函数代码块以冒号起始,并且缩进。如下面的示例: def function_name(parameters): """docstrin…

    python 2023年5月13日
    00
  • 如何使用带有密码而不是密钥文件的python sshtunnel

    【问题标题】:How to use python sshtunnel with password instead of key file如何使用带有密码而不是密钥文件的python sshtunnel 【发布时间】:2023-04-07 12:36:01 【问题描述】: 我想从我的本地机器打开一个 ssh 隧道,以将我的 python 脚本连接到远程数据库。…

    Python开发 2023年4月8日
    00
  • 详解python学习笔记之解释器

    Python解释器是Python语言的核心组件之一,它可以将Python代码转换为机器语言并执行。以下是详解Python学习笔记之解释器的完整攻略,包含两个示例。 示例1:使用Python解释器执行Python代码 以下是一个示例,可以使用Python解释器执行Python代码: 步骤1:安装Python解释器 在使用Python解释器执行Python代码之…

    python 2023年5月15日
    00
  • python冒泡排序算法的实现代码

    下面是“Python冒泡排序算法的实现代码”的完整攻略,包含两个示例说明。 冒泡排序算法 冒泡排序算法是一种简单的排序算法,它的基本思想是通过不断交换相邻的元素,将较大的元素逐渐“冒泡”到数组的末尾,从而实现排序。具体步骤如下: 从数组的第一个元素开始,依次比较相邻的两个元素,如果前一个元素比后一个元素大,则交换这两个元素的位置。 继续比较下一个相邻的两个元…

    python 2023年5月14日
    00
  • python标准库压缩包模块zipfile和tarfile详解(常用标准库)

    Python标准库压缩包模块zipfile和tarfile详解 一、zipfile模块 zipfile模块是Python标准库中用于处理压缩文件的模块,它使用pkzip算法进行压缩。该模块提供了对zip格式的压缩文件进行读写的功能。 1.1 压缩文件操作 创建zip文件: import zipfile with zipfile.ZipFile(‘exampl…

    python 2023年6月3日
    00
  • Python正则表达式:难以理解结果[重复]

    【问题标题】:Python regex: having trouble understanding results [duplicate]Python正则表达式:难以理解结果[重复] 【发布时间】:2023-04-04 06:50:02 【问题描述】: 我有一个需要写入磁盘的数据框,但 pyspark 不允许任何这些字符 ,;{}()\\n\\t= 在作为镶…

    Python开发 2023年4月6日
    00
合作推广
合作推广
分享本页
返回顶部