该模块支持有理数算术。它允许从整数、浮点数、数字、小数和字符串创建分数实例。
null
例如: 分数实例可以由一对整数、另一个有理数或字符串构成。分数实例是可散列的,应该被视为不可变的。
- 班级分数。分数(分子=0,分母=1): 这要求分子和分母是 数字。合理的 然后返回一个值为=(分子/分母)的分数实例。如果分母=0,则产生零除错误。
from
fractions
import
Fraction
print
(Fraction(
11
,
35
))
# returns Fraction(11, 35)
print
(Fraction(
10
,
18
))
# returns Fraction(5, 9)
print
(Fraction())
# returns Fraction(0, 1)
输出:
11/35 5/9 0
- 班级分数。分数(其他分数): 这要求其他_分数是 数字。合理的 并返回一个具有相同值的分数实例。
- 班级分数。分数(浮动): 这需要 浮动 实例和具有相同值的分数实例返回。
from
fractions
import
Fraction
print
(Fraction(
1.13
))
# returns Fraction(1272266894732165, 1125899906842624)
输出:
1272266894732165/1125899906842624
- 班级分数。分数(十进制): 这需要 十进制的 实例和具有相同值的分数实例返回。
from
fractions
import
Fraction
print
(Fraction(
'1.13'
))
# returns Fraction(113, 100)
输出:
113/100
- 班级分数。分数(字符串): 这需要 字符串还是unicode 返回实例实例和具有相同值的分数实例。
此实例的表单: [符号]分子[‘/’分母] 在这里,符号代表“+”或“-”,分子和分母是一个数字串。
from
fractions
import
Fraction
print
(Fraction(
'8/25'
))
# returns Fraction(8, 25)
print
(Fraction(
'1.13'
))
# returns Fraction(113, 100)
print
(Fraction(
'3/7'
))
# returns Fraction(3, 7)
print
(Fraction(
'1.414213 '
))
# returns Fraction(1414213, 1000000)
输出:
8/25 113/100 3/7 1414213/1000000
- 极限分母(最大分母=1000000):
- 这种方法对于寻找给定浮点数的有理逼近非常有用。
- 此模块查找并返回与self最接近的分数,该分数的分母最多为max_。
- 该模块还可以通过使用 分子 属性和分母,使用 分母 所有物
from
fractions
import
Fraction
print
(Fraction(
'3.14159265358979323846'
))
# returns Fraction(157079632679489661923, 50000000000000000000)
print
(Fraction(
'3.14159265358979323846'
).limit_denominator(
10000
))
# returns Fraction(355, 113)
print
(Fraction(
'3.14159265358979323846'
).limit_denominator(
100
))
# returns Fraction(311, 99)
print
(Fraction(
'3.14159265358979323846'
).limit_denominator(
10
))
# returns Fraction(22, 7)
print
(Fraction(
125
,
50
).numerator)
# returns 5
print
(Fraction(
125
,
50
).denominator)
# returns 2
输出:
157079632679489661923/50000000000000000000 355/113 311/99 22/7 5 2
对分数进行数学运算
from fractions import Fraction print (Fraction( 113 , 100 ) + Fraction( 25 , 18 )) # returns Fraction(2267, 900) print (Fraction( 18 , 5 ) / Fraction( 18 , 10 )) # returns Fraction(2, 1) print (Fraction( 18 , 5 ) * Fraction( 16 , 19 )) # returns Fraction(288, 95) print (Fraction( 18 , 5 ) * Fraction( 15 , 36 )) # returns Fraction(3, 2) print (Fraction( 12 , 5 ) * * Fraction( 12 , 10 )) # returns 2.8592589556010197 |
输出:
2267/900 2 288/95 3/2 2.8592589556
使用数学模块的各种函数进行基于分数的计算
import math from fractions import Fraction print (math.sqrt(Fraction( 25 , 4 ))) # returns 2.5 print (math.sqrt(Fraction( 28 , 3 ))) # returns 3.0550504633038935 print (math.floor(Fraction( 3558 , 1213 ))) # returns 2 print (Fraction(math.sin(math.pi / 3 ))) # returns Fraction(3900231685776981, 4503599627370496) print (Fraction(math.sin(math.pi / 3 )).limit_denominator( 10 )) # returns Fraction(6, 7) |
输出:
2.5 3.0550504633 2.0 3900231685776981/4503599627370496 6/7
本文由 阿迪蒂·古普塔 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END