擅长:python、mysql、java
<p>你的问题出在打印声明中。通过写作:</p>
<pre><code>print("%s x^%s + "%(P[i], i))
</code></pre>
<p>实际上,您正在打印整个元组。例如,<code>P[0]</code>等于整个列表<code>[4, 512]</code>。所以在直接打印<code>P[i]</code>时,您只需打印整个子列表。在</p>
<p>相反,您需要打印子列表中的每个元素。在</p>
^{pr2}$
<p><br/></p>
<p>另外,你的解决方案将把答案的每一部分打印在单独的一行上。要解决这个问题,您有两个选项,但是这里有一个选项不依赖于您的python版本。基本上,创建一个表示结果的字符串,并在循环过程中继续构建它。然后在函数的最后,打印这个字符串。在</p>
<pre><code>result = '' # initialize an empty string before your loop
</code></pre>
<p>然后在循环内部,将print调用替换为:</p>
<pre><code>result = "%s + %s x^%s" % (result, P[i][0], P[i][1]
</code></pre>
<p>在函数的最后,你可以打印字符串。在</p>
<pre><code>print (result)
</code></pre>