擅长:python、mysql、java
<p>您的代码不需要更多的<code>return</code>,它需要返回正确的内容<code>printAllrec</code>在这里不<em>使用</em>返回值,它只是修改提供给顶级<code>printAllrec</code>调用的<code>list</code>,该调用被委托给子调用。但是顶级函数<code>printAll</code>需要返回<code>list</code>,而不是从内部递归函数返回的垃圾。只要改变一下:</p>
<pre><code>def printAll(n):
...
return printAllrec(stringSoFar,n,result)
</code></pre>
<p>致:</p>
<pre><code>def printAll(n):
...
printAllrec(stringSoFar,n,result)
return result # returns the actual list
</code></pre>
<p><a href="https://tio.run/##K6gsycjPM/7/PyU1TaGgKDOvxDEnRyNP04pLAQiKUotLc0pso2PBvOISoHx6cL5bYpGtujpYCFlXUWqyBpISnTwdiHaoWSCQmaaQp2Bra4AQQdiil1hQkJqXgmyEJooyoOac1DwNqKFAYxQ0jDRRTYKYVlJalAc1FC6bmlOciqoW2dnIlmorGShp6uTpGsKcT6QuQzRdXOjKsYYNF6aTwXo04HFhpKn5/z8A" rel="nofollow noreferrer" title="Python 3 – Try It Online">Try it online!</a></p>
<p>它的工作原理与预期一致</p>