使用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日

相关文章

  • 解决Python3.7.0 SSL低版本导致Pip无法使用问题

    解决Python3.7.0 SSL低版本导致Pip无法使用问题 在安装Python3.7.0版本之后,可能会遇到Pip无法使用的问题,这是因为Python3.7.0自带的SSL版本较低,不被大部分站点所接受。要解决这个问题,需要升级SSL版本。 以下是完整的攻略: 步骤1:下载OpenSSL源代码 到OpenSSL的官网(https://www.openss…

    python 2023年5月14日
    00
  • Python中使用第三方库xlrd来读取Excel示例

    下面我为您讲解“Python中使用第三方库xlrd来读取Excel示例”的完整实例教程。 一、xlrd库简介 xlrd是一个Python模块,用于从Excel文件读取数据。它可以读取Excel文件,其中可能包含多个工作表。使用xlrd可以读取单元格数据、格式、公式和一些其他属性。 二、xlrd库的安装 在使用xlrd库之前,需要先安装它。可以使用pip命令进…

    python 2023年5月13日
    00
  • Python之list对应元素求和的方法

    以下是详细讲解“Python之List对应元素求和的方法”的完整攻略。 在Python中,可以使用多种方法对List中对应元素进行求和。本文将介绍两种常用的方法,并提供两个示例说明。 方法一:使用循环遍历 可以使用循环遍历方法对List中对应元素进行求和。例如: lst1 = [1, 2, 3, 4, 5] lst2 = [6, 7, 8, 9, 10] s…

    python 2023年5月13日
    00
  • python 中 lxml 的 etree 标签解析

    Python中lxml的etree标签解析 lxml是Python中一个高效且易于使用的XML和HTML处理库。其中,etree模块提供了一种解析XML和HTML文档的方法。本文将详细介绍如何使用lxml的etree模块解析XML和HTML文档,并提供两个示例。 步骤1:安装lxml库 在使用lxml库之前,我们需要安装它。您可以使用以下命令安装lxml库:…

    python 2023年5月15日
    00
  • 关于python 读取csv最快的Datatable的用法,你都学会了吗

    当涉及到处理大量数据时,使用最有效率的方法是很重要的。这时, Datatable 是 Python 最快的读取 CSV 数据的方法之一。 Datatable 是什么? Datatable 是一个开源的数据表格库,能够将大量的数据存储在内存中,而不会降低读取速度。它被设计用来处理非常大的数据表,可以快速的进行数据操作。 安装 Datatable 在安装 Dat…

    python 2023年6月3日
    00
  • Python如何实现定时器功能

    讲解“Python如何实现定时器功能”的完整攻略,可以分成以下几步: 1. 导入模块 实现定时器功能需要用到Python标准库的time和threading模块,所以我们需要在代码中先导入这两个模块。 import time import threading 2. 编写定时器函数 在代码中,我们需要编写一个专门用来实现定时器功能的函数,可以使用threadi…

    python 2023年6月2日
    00
  • Elasticsearch Python API 在简单查询中导致“search() 缺少 1 个必需的位置参数”

    【问题标题】:Elasticsearch Python API results in “search() missing 1 required positional argument” on a simple queryElasticsearch Python API 在简单查询中导致“search() 缺少 1 个必需的位置参数” 【发布时间】:2023-…

    Python开发 2023年4月8日
    00
  • Python 获取异常(Exception)信息的几种方法

    Python获取异常(Exception)信息的几种方法 在编写Python代码时,出错是不可避免的。当程序出错时,我们通常需要获取异常(Exception)信息来对错误进行调试。 Python提供了多种方法来获取异常信息。 方法一:使用try-except语句 使用try-except语句是最常见的方法之一。在try代码块中执行代码,如果出现异常则会跳转到…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部