<p>我正在尝试学习Python3.x的动态编程和递归。下面的代码是我课本上的一个简单示例:</p>
<pre><code>def recMC(coinValueList, change):
minCoins = change
if change in coinValueList:
return 1
else:
for i in [c for c in coinValueList if c <= change]:
numCoins = 1 + recMC(coinValueList, change-i)
if numCoins < minCoins:
minCoins = numCoins
return minCoins
print(recMC([1,5,10,25], 63))
</code></pre>
<p>我真的很难理解第6行,理解。我完全不确定这里发生了什么,以及如何将其分解成循环以更容易理解。我的想法是:</p>
^{pr2}$
<p>但我不明白这是怎么重复的。也许知识更丰富的人可以用不同的方式来解释这一点,而不是我的书和教授?在</p>