擅长:python、mysql、java
<p>首先,想想这个:</p>
<pre class="lang-py prettyprint-override"><code>def f(times,data):
return [] if times == 0 else f(times - 1,data) + [data]
print(f(3,5)) # [5,5,5]
</code></pre>
<p>现在,关于递归解决方案,(1)为了访问<code>array</code>,<code>replicate_recur</code>在开始时需要声明“^{<cd3>”,因为变量<code>array</code>是在函数作用域之外声明的;(2)将递归调用“<code>replicate_recur(times - 1,data)</code>”修改为“<code>return replicate_recur(times - 1,data)</code>”,以便函数在<code>times</code>时实际返回一个值大于零。一般认为递归函数的形式是不可取的</p>