我试图用字典来表示多项式,把幂函数作为键,元素作为系数。我一直在尝试重载__sub __函数,但由于我很挣扎,我想我应该重载__neg __函数,然后再将其应用于__sub __。当我在Python中使用列表时,我很容易做到这一点,但我不知道如何使用字典做到这一点。所以我只需要乘以每个元素(系数乘以-1),而不是键(指数)。之后,如何在__sub __函数中调用__neg __函数?在class Polynomial(object):
def __init__(self, coefficients):
self.coefficients = coefficients
def __str__(self):
polytostring = ' '
for exponent, coefficient in self.coefficients.iteritems():
if exponent == 0:
polytostring += '%s + ' % coefficient
else:
polytostring += '%sx^%s + ' % (coefficient, exponent)
polytostring = polytostring.strip(" + ")
return polytostring
def __add__(self, other):
if isinstance(other, Polynomial):
if max(other.coefficients) > max(self.coefficients):
co