ITPub博客

首页 > IT职业 > IT职场 > 分数在python中直接声明

分数在python中直接声明

IT职场 作者:sunoct 时间:2021-09-11 10:06:22 0 删除 编辑

我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作。但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性。不过分数在python中还不能直接使用的,需要借助模块的实现。不会在python中使用分数的小伙伴可以跟我们一起往下看。

Python 并不仅仅局限于整数和浮点数类型。它可以完成你在高中阶段学过、但几乎已经全部忘光的所有古怪数学运算。

分数就是其中一种。当然,分数不能直接声明,使用时需引入 fractions 模块。

为定义一个分数,创建一个 Fraction 对象并传入分子和分母。

>>> import fractions
>>> x = fractions.Fraction(1, 3)
>>> x
Fraction(1, 3)

对分数进行所有的常规数学计算。运算返回一个新的 Fraction 对象。2 * (1/3) = (2/3)

>>> x * 2
Fraction(2, 3)

Fraction 对象将会自动进行约分。(6/4) = (3/2)

>>> fractions.Fraction(6, 4)
Fraction(3, 2)

在杜绝创建以零为分母的分数方面,Python 有着良好的敏感性。

>>> fractions.Fraction(0, 0)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "fractions.py", line 96, in __new__
    raise ZeroDivisionError('Fraction(%s, 0)' % numerator)
ZeroDivisionError: Fraction(0, 0)


实例:Python定义的矩阵里有分数,如何让结果以分数显示?就比如array([1/3]),显示0.333,如何显示1/3这种分数形式?

>>> from fractions import Fraction
>>> Fraction(1, 3) + Fraction(1, 3)
Fraction(2, 3)
>>> Fraction(0.7)
Fraction(3152519739159347, 4503599627370496)
>>> Fraction(0.75)
Fraction(3, 4)

 

以上就是python中借助fractions使用分数的方法,具体的实例代码同样展现给大家,在了解了基本分数使用后,就可以试着解决矩阵分数的题目啦。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2280/viewspace-2831839/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-04-16

  • 博文量
    83
  • 访问量
    808