当我输入1-3 / 4时,它将被解释为2/4或1/2。如何使答案正确为1/4?
标准库中的fractions模块是专门为此类问题设计的:-)
>>> from fractions import Fraction
>>> 1 - Fraction(3, 4)
Fraction(1, 4)
在您最初的工作中,代码是这样执行的:
>>> 1-3/4
0.25
除法具有较高的operator precedence,因此它在减法之前执行:
>>> 1 - (3/4)
0.25
对于整数,/
运算符给出浮点结果(就像袖珍计算器一样)。这就是为什么您需要Fraction类以获得实际的分数结果的原因。
希望这会有所帮助:-)