擅长:python、mysql、java
<p>存储从<code>getPoints()</code>返回的所有值时出错。您应该只存储到目前为止返回的点数的可能总数。您可以将所有这些存储在一个集合中,并使用从<code>getPoints()</code>返回的所有可能值来更新它们。集合将自动删除重复的分数,例如1+11和11+1。您可以将集合更改为末尾的排序列表。这是我的密码:</p>
<pre><code>def getPointTotal(aList):
totals = {0}
for i in aList:
totals = {p + t for p in getPoints(i) for t in totals}
return sorted(list(totals))
</code></pre>
<p>我得到这些结果:</p>
<pre><code>>>> print(getPointTotal([1,26, 12]))
[21, 31]
>>> print(getPointTotal([1,14]))
[2, 12, 22]
</code></pre>