📜  编写一个 Python 程序,获取 0 到 50 之间的斐波那契数列.注意:斐波那契数列是数字序列 - Python (1)

📅  最后修改于: 2023-12-03 15:27:37.540000             🧑  作者: Mango

编写一个 Python 程序,获取 0 到 50 之间的斐波那契数列

斐波那契数列是一种经典的数学问题,定义为:在数列中,每个数字是前两个数字的和。例如,0、1、1、2、3、5、8、13、21、34、55、……

在 Python 中,我们可以通过循环或递归来生成斐波那契数列。

1. 使用循环
def fib(n):
    a, b = 0, 1
    result = []
    while a < n:
        result.append(a)
        a, b = b, a+b
    return result

print(fib(50))

输出:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
2. 使用递归
def fib(n):
    if n == 0:
        return 0
    elif n == 1:
        return 1
    else:
        return fib(n-1) + fib(n-2)

result = []
for i in range(50):
    if fib(i) > 50:
        break
    result.append(fib(i))

print(result)

输出:

[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

以上两种方法均可用来生成斐波那契数列,但前者更加高效,因为它只需要计算一次每个数的值,而后者会重复计算一些值。