问题
你进入时间机器,突然发现你正在做小学家庭作业,设计到分数计算问题。或者你可能需要写代码去计算你的木工工厂中的测量值。
解决方案:
fraction模块可以被用来执行包含分数的数学运算。比如:
from fractions import Fraction
a=Fraction(5,4)
b=Fraction(7,16)
print(a+b) # ->27/16
print(a*b) # ->35/64
c=a*b
print(c.numerator) # ->35
print(c.denominator)# ->64
print(c.limit_denominator(8))
x=3.75
y=Fraction(*x.as_integer_ratio()) # ->4/7
print(Fraction(15,4)) #->15/4
讨论:
在大多数程序中的一般不会出现分数的计算问题,但是有时候还是需要用到的,比如,在一个允许接受分数的测试单位并以分数形式执行运算的程序中,直接使用分数可以减少手动转换我小数或浮点数的工作。