python_斐波那契数列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python_斐波那契数列相关的知识,希望对你有一定的参考价值。

什么是斐波那契数列?

  -- 一组第从第三个值开始,每个值都等于前两个值之和的一种有意思的数列

  如[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]

如何用程序进行实现?

  -- 逻辑整理

    初始值n_1 = 1, n_2 = 1

    n_3 = n_1 + n_2

    第三个值开始,每个值都是前两个值之和,假如n_1 = n_2 ,n_2 = n_3,

    实现了整体 n_1, n_2往后移动一个数,也就是说,现在的n_1 +n_2 等价于 n_2 + n_3

    其结果虽然给n_3接收,但是n_3本质上是第四个数了,不妨后面的数都是如此,嘉祥n_3无限往后移

    n_3 可以代替任何后面的数

  -- 程序化:

list_fab = []                   # 定义接收fab值列表

def fab(n):
    n_1, n_2 = 1, 1             # 定义初始值 n_1=1,n_2=1
    list_fab.append(n_1)        # 把两个初始值加入到fab值列表
    list_fab.append(n_2)

    for i in range(n-2):        # 按输入要求几个减去2,因为有两个初始值
        n_3 = n_1 + n_2         # 第三个值 = 前两个值之和
        list_fab.append(n_3)    # 把加起来的值加入到fab值列表

        n_1, n_2 = n_2, n_3     # n_1和n_2同步往后移一位

    return list_fab             # 返回结果

result = fab(10)                # 接收结果
print(list_fab, len(list_fab))  # 打印结果

  这个实现的是正向推导,没有实现子问题划分——从后面推导

以上是关于python_斐波那契数列的主要内容,如果未能解决你的问题,请参考以下文章

Python与Go斐波那契数列

python脚本10_打印斐波那契数列的第101项

python做斐波那契数列。

python代码实现斐波那契数列数列

python递归求斐波那契数列前10项

编写一递归函数求斐波那契数列的前40项