-1

所以我有一个简单的例子:

import fractions
f = fractions.Fraction(6, 12)

我不想f成为1/2。我希望它留下来6/12。有没有办法做到这一点?

4

1 回答 1

3

在这里找到了解决方案:

不,不是_normalize可以设置一个内部标志,允许创建非标准化分数(并可能导致许多未定义的行为)。

>>> f = fractions.Fraction(6, 12, _normalize=False)
>>> f
Fraction(6, 12)

但它不会对计算结果做任何事情。该模块的部分用途是允许发现相等的分数相等,这是通过标准化完成的。所以它看起来是一个不能被禁用的核心部分。

>>> frac(1,2) == frac(6,12, _normalize=False)
False
于 2021-12-11T22:01:26.587 回答