[英]Python2: Recursion doesn't work when I put print statement in function but works otherwise
所以我在python中遞歸地進行最小硬幣找零問題。 我想想像一下它正在進行多少次遞歸調用。 因此,我在函數中添加了“ print'recursion'”。 但是現在它不斷地進行打印遞歸,沒有達到輸出,程序甚至沒有停止。 這是程序。
def min_coins(coins, change):
print 'recursion' #program works without this line
mincoins = change
if change in coins:
return 1
else:
for i in coins:
if i<=change:
numcoins = 1 + min_coins(coins, change-i)
if(numcoins < mincoins):
mincoins = numcoins
return mincoins
c = [1,5,25]
d = 50
print min_coins(c, d)
控制台速度很慢,您還沒有足夠的耐心:
python your_program.py | wc -l
684886
有更好的方法,使用全局計數器變量或返回一對(mincoins, counter)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.