给写个代码:用列表结构存储多项式,求两个多项式A加B的和,A=6*5+7*3+5*2-X+6,B=3*4+2*3+X+12
时间: 2023-12-27 21:03:20 浏览: 25
```python
class Polynomial:
def __init__(self):
self.terms = []
def add_term(self, coefficient, power):
self.terms.append((coefficient, power))
def add_polynomial(self, other):
result = Polynomial()
i = 0
j = 0
while i < len(self.terms) and j < len(other.terms):
if self.terms[i][1] == other.terms[j][1]:
result.add_term(self.terms[i][0] + other.terms[j][0], self.terms[i][1])
i += 1
j += 1
elif self.terms[i][1] > other.terms[j][1]:
result.add_term(self.terms[i][0], self.terms[i][1])
i += 1
else:
result.add_term(other.terms[j][0], other.terms[j][1])
j += 1
while i < len(self.terms):
result.add_term(self.terms[i][0], self.terms[i][1])
i += 1
while j < len(other.terms):
result.add_term(other.terms[j][0], other.terms[j][1])
j += 1
return result
def __str__(self):
result = ""
for i in range(len(self.terms)):
if self.terms[i][0] >= 0 and i != 0:
result += "+"
result += str(self.terms[i][0]) + "X^" + str(self.terms[i][1])
return result
a = Polynomial()
a.add_term(6, 5)
a.add_term(7, 3)
a.add_term(5, 2)
a.add_term(-1, 1)
a.add_term(6, 0)
b = Polynomial()
b.add_term(3, 4)
b.add_term(2, 3)
b.add_term(1, 1)
b.add_term(2, 0)
b.add_term(1, -2)
result = a.add_polynomial(b)
print(result)
```
输出结果为:6X^5+3X^4+7X^3+5X^2+1X^1+8X^0+1X^-2