回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>例如3x^4-17x^2-3x+5。多项式的每一项都可以表示为一对整数(系数、指数)。多项式本身就是这样的对的列表,如<br/>
<code>[(3,4), (-17,2), (-3,1), (5,0)]</code>对于所示的多项式。</p>
<p>零多项式0表示为空列表<code>[]</code>,因为它没有系数为非零的项。</p>
<p>我想写两个函数,用元组(系数,指数)的相同表示来相加和相乘两个输入多项式:</p>
<ol>
<li><code>addpoly(p1, p2)</code></li>
<li><code>multpoly(p1, p2)</code></li>
</ol>
<p>测试用例:</p>
<ul>
<li><p><code>addpoly([(4,3),(3,0)], [(-4,3),(2,1)])</code><br/>
应该给出<code>[(2, 1),(3, 0)]</code></p></li>
<li><p><code>addpoly([(2,1)],[(-2,1)])</code><br/>
应该给出<code>[]</code></p></li>
<li><p><code>multpoly([(1,1),(-1,0)], [(1,2),(1,1),(1,0)])</code><br/>
应该给出<code>[(1, 3),(-1, 0)]</code></p></li>
</ul>
<p>这是我刚开始做的,但完全被打动了!</p>
<pre><code>def addpoly(p1, p2):
(coeff1, exp1) = p1
(coeff2, exp2) = p2
if exp1 == exp2:
coeff3 = coeff1 + coeff2
</code></pre>