斐波那契数列公式不起作用
Fibonacci sequence formula not working
请参阅下图以供参考。
第一列只是给我们行号
第 2 列是斐波那契数列,只需添加前 2 列即可获得新行
第 3 列应该是最后一行 b 除以前一个值的商
它一直工作到第 4 次迭代,其中分数应该是:
1.6,但从那以后就是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
报告了什么?
请参阅下图以供参考。 第一列只是给我们行号 第 2 列是斐波那契数列,只需添加前 2 列即可获得新行 第 3 列应该是最后一行 b 除以前一个值的商
它一直工作到第 4 次迭代,其中分数应该是: 1.6,但从那以后就是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
报告了什么?