在 Python 中减少分数
Python 具有对有理数进行算术运算的功能。 它支持从字符串、数字、小数、浮点数和整数创建分数实例。
一对整数、另一个有理数、一个文本或一个分数都可以用来创建一个分数实例。 由于小数实例可以被散列,因此它们应该被视为不可变的。
Python 分数
Python 分数模块提供有理数算术。 借助该模块,我们可以将字符串和其他数字变量(例如整数、浮点数和小数)转换为分数。
存在分数实例的想法。 它由作为分子和分母的两个数字组成。
毫无疑问,Fraction 模块是 Python 标准库中使用最少的部分之一。 虽然它可能没有得到广泛认可,但它是一个有用的工具,因为它可以帮助解决二进制浮点运算的问题。
如果您打算处理财务数据,或者您的计算需要无限精确,那么这一点至关重要。
在 Python 中创建分数
您必须从分数库中导入分数模块才能在 Python 中创建分数。
分数会将十进制值 0.5 变为 1/2。 同样,(21, 60) 将变为 7/20,最后一个分数 (0, 10) 将给出 0 输出,因为分子为 0。
示例代码:
from fractions import Fraction
print(Fraction(0.5))
print(Fraction(21, 60))
print(Fraction(0, 10))
输出:
1/2
7/20
0
在 Python 中减少分数
在下面的示例中,我们通过简单的步骤减少了分数。
首先,我们定义了一个函数 GCD(Greatest Common Divisor)并声明了两个整数 n 和 m。 然后将 d(分母)设置为 m 和 n 中的最小值。
我们使用 while 循环来找到最大公约数。 然后,我们定义了另一个函数 reduce(),它返回约化分数的分子和分母。
num(分数分子)必须是非零整数。 如果 num 为 0,则减少的分数为 0; 否则,我们通过调用函数找到最大公约数。
我们通过将 num 和 den 除以 GCD 来计算结果。
示例代码:
def GCD(n, m):
d = min (n, m)
while n % d != 0 or m % d != 0:
d = d - 1
return d
def reduce (num, den):
if num == 0:
return (0, 1)
G = GCD(num, den)
return (num // G, den // G)
num = 3
den = 27
(n, d) = reduce (num, den)
print("The fraction",num,"/",den,"is reduced to",n,"/",d)
输出:
The fraction 3 / 27 is reduced to 1 / 9
相关文章
Pandas DataFrame DataFrame.shift() 函数
发布时间:2024/04/24 浏览次数:133 分类:Python
-
DataFrame.shift() 函数是将 DataFrame 的索引按指定的周期数进行移位。
Python pandas.pivot_table() 函数
发布时间:2024/04/24 浏览次数:82 分类:Python
-
Python Pandas pivot_table()函数通过对数据进行汇总,避免了数据的重复。
Pandas read_csv()函数
发布时间:2024/04/24 浏览次数:254 分类:Python
-
Pandas read_csv()函数将指定的逗号分隔值(csv)文件读取到 DataFrame 中。
Pandas 多列合并
发布时间:2024/04/24 浏览次数:628 分类:Python
-
本教程介绍了如何在 Pandas 中使用 DataFrame.merge()方法合并两个 DataFrames。
Pandas loc vs iloc
发布时间:2024/04/24 浏览次数:837 分类:Python
-
本教程介绍了如何使用 Python 中的 loc 和 iloc 从 Pandas DataFrame 中过滤数据。
在 Python 中将 Pandas 系列的日期时间转换为字符串
发布时间:2024/04/24 浏览次数:894 分类:Python
-
了解如何在 Python 中将 Pandas 系列日期时间转换为字符串