方法1:递归实现
直接上代码:
def fib(n): #递归实现
if n==1 or n==2:
return 1
else:
return fib(n-1)+fib(n-2)
fibnum=int(input("输入斐波那契数列第几项:"))
# print(fib(fibnum)) #第n项的值
for i in range(1,fibnum+1):
print(fib(i))
运行结果:
1 1 2 3 5 8 13 21 34 55
方法2:交换变量
def fib(n): #交换变量
a,b=1,1
for i in range(n-1):
a,b=b,a+b
return a
fibnum=int(input("输入斐波那契数列第几项:"))
# print(fib(fibnum)) #第n项的值
for i in range(1,fibnum+1):
print(fib(i))
运行结果:
1 1 2 3 5 8 13 21 34 55