📅  最后修改于: 2023-12-03 14:59:05.620000             🧑  作者: Mango
斐波那契数列是指从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 程序。无论是循环还是递归,都可以有效地生成数列。根据具体的应用场景,选择合适的实现方式。