在Python中,求斐波那契数列可以通过多种方法实现,包括递归、迭代以及使用第三方库。以下是几种常见的方法:
方法一:递归
def fibonacci_recursive(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
return fibonacci_recursive(n - 1) + fibonacci_recursive(n - 2)
测试代码
for i in range(10):
print(fibonacci_recursive(i), end=" ")
方法二:迭代
def fibonacci_iterative(n):
if n == 0:
return 0
elif n == 1:
return 1
else:
a, b = 0, 1
for _ in range(2, n + 1):
a, b = b, a + b
return b
测试代码
for i in range(10):
print(fibonacci_iterative(i), end=" ")
方法三:使用第三方库(如anot_fib)
安装anot_fib库
pip install anot_fib
from anot_fib import fibonacci
生成前10个斐波那契数
fib_sequence = fibonacci(10)
print(fib_sequence) 输出: [1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
方法四:使用列表存储斐波那契数列
def fibonacci_list(n):
fib_seq = [0, 1]
for i in range(2, n):
fib_seq.append(fib_seq[i-1] + fib_seq[i-2])
return fib_seq
测试代码
n = int(input("请输入斐波那契数列的长度: "))
fib_seq = fibonacci_list(n)
print(fib_seq)
方法五:使用生成器
def fibonacci_generator(n):
a, b = 0, 1
for _ in range(n):
yield a
a, b = b, a + b
测试代码
fib_gen = fibonacci_generator(10)
for num in fib_gen:
print(num, end=" ")