擅长:python、mysql、java
<p>你得到错误答案的原因是因为nums是一本字典,而且是无序的,所以</p>
<pre><code>nums.keys() becomes ['two hundreds', 'one hundreds']
</code></pre>
<p>因此,你有两个几百作为你的第一个结果,然后当你这样做</p>
<pre><code>return allfind(data[index+len(num):])
</code></pre>
<p>它返回字符串x222x,当然它只有“两百”(222),所以最终结果变成</p>
<pre><code>['two hundreds', 'two hundreds']
</code></pre>
<p>解决方案,我认为您可以在知道错误后执行,应该在您以正确的顺序迭代nums键时出现。(思考清单)。你知道吗</p>
<p>另外,尽可能地放置简单的print语句以便于调试。你知道吗</p>