擅长:python、mysql、java
<p>试试这个:</p>
<pre><code>def __eq__(self, other):
return self.n*other.d == self.d*other.n
</code></pre>
<p>正如评论中指出的,没有必要实现<code>__ne__</code>。你知道吗</p>
<p><strong>编辑:</strong>根据此答案注释中的要求,这里有一个简化分数的方法。你知道吗</p>
<p>分数的简化意味着用最大公约数除两个数。正如在<a href="https://stackoverflow.com/questions/11175131/code-for-greatest-common-divisor-in-python">here</a>中发布的,代码相当简单</p>
<pre><code># return the simplified version of a fraction
def simplified(self):
# calculate the greatest common divisor
a = self.n
b = self.d
while b:
a, b = b, a%b
# a is the gcd
return Fraction(self.n/a, self.d/a)
</code></pre>
<p>希望对你有帮助。你知道吗</p>