这应该适用于你:class Polynomial():
def __init__(self,num_list = []):
sorted_list = list(sorted(num_list,key=(lambda d:d[1]),reverse=True))
self.num_list = [i for i in sorted_list]
def display(self):
storage = []
for i in range(len(self.num_list)):
storage.append(str(self.num_list[i][0]) + 'x^' + str(self.num_list[i][1]))
print(''.join(storage))
a = Polynomial([[1,8],[-5,7],[-1,1],[-1,0]])
a.display()
输出:1x^8-5x^7-1x^1-1x^0
或者如果你想把display功能为一行 :class Polynomial():
def __init__(self,num_list = []):
sorted_list = list(sorted(num_list,key=(lambda d:d[1]),reverse=True))
self.num_list = [i for i in sorted_list]
def display(self):
print(''.join('%+dx^%d' % (a, b) if b!=0 else '%+d' % (a) for a, b in self.num_list))
a = Polynomial([[1,8],[-5,7],[-1,1],[-1,0]])
a.display()
输出:+1x^8-5x^7-1x^1-1