<h2>您的功能有什么问题:</h2>
<p>在两次递归调用之后<code>temp</code>变为<code>[2,3]</code>,然后在下一次递归中满足基本情况(<code>len(temp) == 2:</code>),并且该函数实例返回而不添加任何内容。下一个for循环迭代<em>递归</em>,同样的事情也会发生。一旦<code>temp</code>成为<code>[2,3]</code>,它就永远不会改变</p>
<h2>如何修复它:</h2>
<p>函数的结构存在许多问题,它不是一个简单的<em>单行修复</em>。你需要想办法</p>
<ul>
<li>当满足基本情况时
<ul>
<li><em>捕获</em>(或打印)<code>temp</code></li>
<li>向上一个函数返回有意义的内容,以便继续进行组合</li>
</ul>
</li>
<li>函数需要根据递归调用的返回值进行操作</li>
<li>将for循环添加到递归过程/流程会使事情变得复杂,可能会想办法不使用它</李>
</ul>
<p>我将从函数开始。我不知道你是否要求别人给你一个全新的函数,所以我将搜索有关递归解决方案的问题,以查找/生成列表项组合</p>
<hr/>
<p>以下是一些相关的SO问题/答案。如果其中任何一个解决了您的问题,请告诉我们,以便我们可以将您的标记为副本。大多数没有<a href="https://en.wikipedia.org/wiki/Combination" rel="nofollow noreferrer"><em>taken two-at-a-time</em></a>约束,但也许您可以进行调整。还有很多</p>
<p><a href="https://stackoverflow.com/questions/55877039/recursive-function-that-returns-combinations-of-size-n-chosen-from-list">Recursive function that returns combinations of size n chosen from list</a><br/>
<a href="https://stackoverflow.com/questions/65181109/recursively-find-all-combinations-of-list">Recursively find all combinations of list</a><br/>
<a href="https://stackoverflow.com/questions/45034279/python-recursion-list-combinations-without-using-generator">python recursion list combinations without using generator</a><br/>
<a href="https://stackoverflow.com/questions/26136673/using-recursion-to-create-a-list-combination">Using recursion to create a list combination</a></p>
<p>松散相关:<br/>
<a href="https://stackoverflow.com/questions/1776442/nth-combination">Nth Combination</a><br/>
<a href="https://stackoverflow.com/questions/4632322/finding-all-possible-combinations-of-numbers-to-reach-a-given-sum">Finding all possible combinations of numbers to reach a given sum</a><br/>
<a href="https://stackoverflow.com/questions/12991758/creating-all-possible-k-combinations-of-n-items-in-c">Creating all possible k combinations of n items in C++</a>-不是Python,但算法可能有用</p>