📌  相关文章
📜  50项斐波那契数列python(1)

📅  最后修改于: 2023-12-03 14:59:05.620000             🧑  作者: Mango

50项斐波那契数列 Python

简介

斐波那契数列是指从0和1开始,后面的每一项都等于前两项之和。在计算机科学中,斐波那契数列被广泛应用于算法和编程中。本文将介绍如何使用 Python 编写程序来生成斐波那契数列的前50项。

实现思路

斐波那契数列的每一项都等于前两项的和。我们可以使用循环或者递归的方式来生成数列。在这里,我们将展示两种不同的实现方法。

方法一:循环实现
def fibonacci(n):
    fib = [0, 1]  # 初始化斐波那契数列的前两项
    for i in range(2, n):
        fib.append(fib[i-1] + fib[i-2])  # 计算每一项的值并添加到数列中
    return fib

fib_seq = fibonacci(50)  # 生成前50项斐波那契数列

这段代码使用一个循环来生成数列,从第3项开始,每一项都等于前两项的和。我们使用一个列表 fib 来存储数列的值,并通过 append() 方法将计算出的新值添加到列表中。最后,返回生成的数列。

方法二:递归实现
def fibonacci(n):
    if n <= 1:
        return n
    else:
        return fibonacci(n-1) + fibonacci(n-2)

fib_seq = [fibonacci(i) for i in range(50)]  # 生成前50项斐波那契数列

这段代码使用递归的方式来生成数列。函数 fibonacci() 接收一个整数参数 n,如果 n 小于等于1,则直接返回 n。否则,通过递归调用 fibonacci(n-1)fibonacci(n-2) 来计算第 n 项的值。我们使用列表推导式来生成完整的数列。

结果

当以上代码片段执行完毕后,变量 fib_seq 将包含斐波那契数列的前50项。你可以通过打印这个列表来查看结果。

print(fib_seq)

输出结果如下:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, 121393, 196418, 317811, 514229, 832040, 1346269, 2178309, 3524578, 5702887, 9227465, 14930352, 24157817, 39088169, 63245986, 102334155, 165580141, 267914296, 433494437, 701408733, 1134903170, 1836311903, 2971215073, 4807526976, 7778742049, 12586269025]

以上就是生成斐波那契数列前50项的 Python 程序。无论是循环还是递归,都可以有效地生成数列。根据具体的应用场景,选择合适的实现方式。