在python中判断一个Fraction的值是整数还是浮点数

Determine the value of a Fraction is integer or float in python

我在 python 中遇到了 Fraction module。我在确定生成分数的整数的结果时遇到问题。

例如,分数是f = Fraction(1, 3),用它乘积n = 2,结果是Fraction(2, 3) = 0.666666666...。当n=3时,结果应该是Farction(3, 3)=1.

我的问题是如何区分Fraction(3, 3)Fraction(1,3)。也就是说分数的值是整数还是浮点数?谢谢!

如果f.denominator == 1,则数字为整数。分数会自动简化数字,因此 Fraction(3, 3) == Fraction(1, 1).