繁体   English   中英

斐波那契数列公式不起作用

[英]Fibonacci sequence formula not working

请参阅下图作为我的参考。 第一列只是给我们行号第二列是斐波那契数列,只需添加前2以获得新行第三列应该是最后一行b除以前一个值的商

它一直工作到第 4 次迭代,其中分数应该是:1.6,但从那时起第 3 列应该是 1.0000000

0
1
2
1.66666666667
1.6
1.625 etc etc.

但它正在做

0
1
2
1.0000
1.0000
1.0000
1.0000 etc.

我的代码有什么问题? 它应该工作,但不是。 这是python 3代码:

a, b = 0, 1
num = 1
i = 1
f= 0

#loop
for i in range(1, 101):
   #use if to avoid divide by zero initially because a is 0
   if a >= 1:
      f = b / a

   #print 3 column of 3 different numbers   
   print ('{0:4d} {1:20d} {2:1.14f}'.format(i, b, f) )
   i = i + 1 
   a,b = b, a+b

输出

如果您使用的是 Python 2,请更改以下行:

f = b / a

进入

f = float(b) / float(a)

你确定你使用的是 Python 3? python -V报告什么?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM