3.8分数运算

问题

​ 你进入时间机器,突然发现你正在做小学家庭作业,设计到分数计算问题。或者你可能需要写代码去计算你的木工工厂中的测量值。

解决方案:

​ 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

讨论:

​ 在大多数程序中的一般不会出现分数的计算问题,但是有时候还是需要用到的,比如,在一个允许接受分数的测试单位并以分数形式执行运算的程序中,直接使用分数可以减少手动转换我小数或浮点数的工作。

posted @ 2022-03-07 11:17  qiupeng  阅读(56)  评论(0)    收藏  举报