我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作。但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性。不过分数在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 "", line 1, in
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使用分数的方法,具体的实例代码同样展现给大家,在了解了基本分数使用后,就可以试着解决矩阵分数的题目啦。