马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zltzlt 于 2020-1-13 22:30 编辑
Python 分数计算
Python 的第三方库 fractions 实现了有理数(即分数)的基本运算。
要想使用 fractions 模块,首先当然得导入:
>>> from fractions import Fraction
之后创建一个 Fractions(分数类)的实例。初始化方法中的参数可以是一个 '[sign]numerator[/denominator]' 格式的字符串。
sign 表示分数的正负,可以是 + 或 -,如果是 + 可以省略。denominator 表示分数的分母。
例如:
>>> Fraction('-1')
Fraction(-1, 1)
>>> Fraction('1/5')
Fraction(1, 5)
参数也可以是一个浮点数,Fraction 内部自动将其转化为分数。
例如:
>>> Fraction(0.2)
Fraction(3602879701896397, 18014398509481984)
>>> 3602879701896397 / 18014398509481984
0.2
还可以是两个整数,分别代表分子和分母。
例如:
>>> Fraction(1, 3) # 代表 1/3
Fraction(1, 3)
之后,我们便可以尝试将两个分数相加了。
>>> f1 = Fraction(1, 3)
>>> f2 = Fraction(2, 3)
>>> f1 + f2 # 将两个 Fraction 的实例相加
Fraction(1, 1)
OK,可以看到结果是正确的。除了相加,还可以将两个分数相减、相乘与相除:
>>> f1 = Fraction(5, 7)
>>> f2 = Fraction(3, 6)
>>> f1 - f2
Fraction(3, 14)
>>> f1 = Fraction(2, 3)
>>> f2 = Fraction(10, 13)
>>> f1 * f2
Fraction(20, 39)
>>> f1 = Fraction(3, 4)
>>> f2 = Fraction(1, 3)
>>> f1 / f2
Fraction(9, 4)
>>> f1 // f2 # 地板除
2
>>> f1 % f2 # 求余数
Fraction(1, 12)
很神奇,对不对 |