一、FOR循环
#定义函数
def fib1(n):
a, b = 1, 1
result = []
for i in range(n):
result.append(a)
a, b = b, a + b
return result
# 获取用户输入
n = int(float(input("请输入要生成的斐波那契数列的长度: ")))
#输出结果
print("长度为%d斐波那契数列是:"%n, fib1(n))
输出如下:
二、WHILE循环
#定义公式
def fib2(n):
a, b = 1, 1
result = []
i = 1
while ((i < n) or (i == n)):
result.append(a)
a, b = b, a + b
i = i+1
return result
#获取用户输入
n = int(float(input("请输入要生成的斐波那契数列的长度: ")))
#输出结果
print("长度为%d斐波那契数列是:"%n, fib2(n))
输出如下:
三、公式递归
#定义公式
def fib3(n):
if (n == 1) or (n == 2):
return 1
else:
return fib3(n - 1) + fib3(n - 2)
#获取用户输入
n = int(input("请输入要生成的斐波那契数列的长度: "))
#递归获得结果
result = []
i = 1
while ((i < n) or (i == n)):
result.append(fib3(i))
i=i+1
#输出结果
print("长度为%d斐波那契数列是:"%n, result)
输出如下: