问题
代码中涉及到分数计算问题。
解决方案
fractions
模块可以被用来执行包含分数的数学运算。比如:
from fractions import Fraction
a = Fraction(5, 4)
b = Fraction(7, 16)
c = a * b
print(a + b)
27/16
print(a * b)
35/64
print(c.numerator)
35
print(c.denominator)
64
print(float(c))
0.546875
# Converting a float to a fraction
x = 3.75
y = Fraction(*x.as_integer_ratio())
print(y)
15/4
讨论
在大多数程序中,一般不会出现分数的计算问题,但是有时候还是需要用到的。 比如,在一个允许接受分数形式的测试单位并以分数形式执行运算的程序中,直接使用分数可以减少手动转换为小数或浮点数的工作。