擅长:python、mysql、java
<p>您可以定义一个局部变量<code>answer</code>,并在递归调用中传递它。你知道吗</p>
<pre><code>def problem_a(n, answer = None):
answer = [n] if answer is None else answer
if n == 1:
return answer
elif n % 2 == 0:
n = n/2
answer.append(n)
else:
n = n*3 + 1
answer.append(n)
return problem_a(n, answer)
print problem_a(7)
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>[7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
</code></pre>