|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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)
复制代码
很神奇,对不对 |
|