斐波那契数列
原理及推导过程:
兔子问题
第一个月:1对小兔子
第二个月:1对小兔子
第三个月:1对大兔子1对小兔子
第四个月:1对大兔子 1对小兔子(本月生)1对小兔子
第五个月:2对大兔子 2对小兔子(本月生)1对小兔子
第六个月:3对大兔子 3对小兔子(本月生)2对小兔子
所以最后推出结果就是 f(n-2)+f(n-1)
代码编写:
n1= 1
n2 =1
items = input('请输入Fibonacci数列个数')
if items.isdigit():
items = int(items)
if items ==0:
print('输入非法')
if items == 1:
print(n2)
if items == 2:
print(n2,n2)
if items >= 3:
for i in range(1,items+1):
if i == 1 :
print(1,end=',')
elif i == 2:
print(1,end=',')
else:
result = n1+ n2#计算当前月份的兔子数
print(result,end=',')
#然后交换整个数据
n1 = n2
n2 =result
else:
print('输入内容非法')
第二种方法 使用递归函数`
def Fibonacci(n):
if n<= 2 :
return 1
else:
return Fibonacci(n-1)+Fibonacci(n-2)
pass
print(Fibonacci(20))