python中分数的直接声明

839次阅读
没有评论

python中分数的直接声明

我们知道如果小数点后面的字数过长,我们会进行保留小数点后位数的操作。但是这样会在精准度上有所差别,当然我们也可以通过分数也避免小数点保留所带来的不精准性。不过分数在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免费测试

相关文章:

版权声明:wuyou2021-05-18发表,共计1057字。
新手QQ群:570568346,欢迎进群讨论 Python51学习