我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作。但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性。不过分数在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使用分数的方法,具体的实例代码同样展现给大家,在了解了基本分数使用后,就可以试着解决矩阵分数的题目啦。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试