python基础第七课--分数(小白piao分享)

6、分数的计算

6.1 解决方案:

#fractions模块可以用来处理涉及分数的数学计算问题
from fractions import Fraction
a = Fraction(2,7)
b = Fraction(3,8)
print(a+b) # 37/56

#得到分子和分母
c = a + b
print(c.numerator) # 37
print(c.denominator) # 56

#将分数转化为小数:
print(float©) # 0.6607142857142857
num = Decimal(str(float©))#转换为高精度浮点型

with localcontext() as ctx:
ctx.prec = 25 # 上下文控制小数点后25位
print(num/3) # 0.2202380952380952333333333

#将一个小数转换为一个分数
var = 3.77
var_convert = Fraction(*var.as_integer_ratio())
print(var_convert) # 8489285297593385/2251799813685248

#为一个分数找到合理的近似值:
print(c.limit_denominator(1000)) # 37/56
#其中参数的含义是: 设置分母最大值,
#在离分母限定值最近的分母找到最贴近c的一个最近似的近似值
(如果限定值大于实际值的分母,那么将取得真实分母,且近似值为真实值)

发布了17 篇原创文章 · 获赞 1 · 访问量 357

猜你喜欢

转载自blog.csdn.net/weixin_43520503/article/details/104396106