我正在使用python的分数模块。
我正在尝试获得接近2 * .5的分数。问题是,当我使用小数命令时,它不会返回我想要的结果,因为例如,在i = 2中,返回的分数是146666667/1000000000,但是我希望它返回给我17/12 (第2个* .5的第三个近似值)。我该如何解决?
代码是这样的:
ai=2
bi=1
n=5
for i in range(n):
ai=2+float(bi)/ai
F=fr.Fraction(str(ai-1))
print F
有谁可以帮助我吗?
如果要使用分数,则不要使用浮点数进行部分计算。您可以对分数进行所有算术运算ai
:
import fractions
ai = fractions.Fraction(2)
bi = 1
n = 5
for i in range(n):
ai = 2 + bi / ai
F = ai - 1
print(F)
产量
3/2
7/5
17/12
41/29
99/70
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句