我正在努力__ str __
用多项式创建函数(又名漂亮的打印),其中字典用于包含作为键的幂和作为系数的元素。我已经用列表完成了,但我还没有掌握字典。有什么需要改进的吗?
你可以在第二个多项式中看到,如果我的最后一个常数不是常数,在用reverse()
函数排列键之后,加号总是在那里,我能做些什么来防止这种情况发生?顺便说一句,我正在尝试重载运算符,完成此操作后,我将尝试执行__ add__
, __ mul__
, __ sub__
, and __ call__
... 尽管我会先完成此操作:P
class Polynomial(object):
def __init__(self, coefficients):
self.coefficients = coefficients
def __str__(self):
polyd = self.coefficients
exponent = polyd.keys()
exponent.reverse()
polytostring = ' '
for i in exponent:
exponent = i
coefficient = polyd[i]
if i == 0:
polytostring += '%s' % coefficient
break
polytostring += '%sx^%s + ' % (coefficient, exponent)
return polytostring
dict1 = {0:1,1:-1}
p1 = Polynomial(dict1)
dict2 = {1:1,4:-6,5:-1, 3:2}
p2 = Polynomial(dict2)
print p1
print p2