python正确添加分数

2024-05-16 17:37:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用分数来做一些计算,把所有的数字都保留为分数,永远不要转换成小数。在

例如1/2+1/4=3/4。例如,我们可以在Python中使用fractions类中的一个函数:Fraction(1/2+1/4)或Fraction(1/2)+Fraction(1/4)。在

但是我不能让Python给出1/2+1/3的正确分数,因为1/3是一个非终止十进制数。分数(1/2+1/3)不起作用,分数(分数(1/2)+分数(1/3))也不起作用。在

***编辑:我之所以使用分数(1/2)而不是分数(1,2),是因为在我的代码中,我知道我只处理分数,但我不知道分数的分子和分母,只知道分数本身。在


Tags: 函数代码编辑数字分子分数小数fraction
2条回答

你可以用这种方式使用分数函数。在

from fractions import Fraction
f = Fraction(1,2) + Fraction(1,3)
print (f)

输出:Fraction(5,6)

当然可以。在

>> from fractions import Fraction
>> Fraction(1, 2) + Fraction(1, 3)
Fraction(5, 6)

你的符号似乎是问题所在。请注意:

^{pr2}$

同时

>>> Fraction(1/2) == Fraction(1, 2)
True

因此:

>>> Fraction(1/2) + Fraction(1/3)
Fraction(15011998757901653, 18014398509481984)  # almost 5/6 but not quite

这是因为当您键入Fraction(1/3)时,1/3首先被计算出来,然后传递给Fraction。相反,Fraction(1, 3)只是创建一个分数,使用1作为分子,3作为分母。在

相关问题 更多 >