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

时间:2016-05-10 20:17:08

标签: python algorithm python-3.x formatting fibonacci

请参阅下面的图片以获取我的参考资料。 第一列只给我们行号 第二列是Fibonacci序列,只是添加前两个以获得新行 第3列应该是最后一行b除以前一个值

的商

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

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

output

1 个答案:

答案 0 :(得分:1)

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

f = b / a

f = float(b) / float(a)

您确定使用的是Python 3吗? python -V报告的内容是什么?