擅长:python、mysql、java
<p>正如其他人所提到的,函数中的所有执行路径都以<code>return</code>语句结尾,因此<code>print</code>调用是不可访问的。因此,如果希望打印<code>n</code>或<code>i</code>的每个值,则需要将调用移动到它可以访问的地方。;)</p>
<p>另外,代码中有一点冗余。你不需要</p>
<pre><code>i.append(n)
return collatz(n)
</code></pre>
<p>在<code>if</code>和<code>else</code>分支中,可以将它们移到<code>if...else</code>块之外。在</p>
<p>这是您的代码的修改版本。我还将<code>/</code>运算符改为<code>//</code>,这样除法的结果将是整数。在</p>
^{pr2}$
<p><strong>输出</strong></p>
<pre><code>12
6
3
5
8
4
2
1
[6, 3, 5, 8, 4, 2, 1]
</code></pre>