我必须编写一个使用递归生成列表的代码,但列表中的最后一项必须为空。这是我的代码,我需要它来生成与它实际生成的内容。
def coin_change(avail_change, total_cents):
if avail_change == []:
return []
if total_cents // avail_change[0] >= 1:
first = total_cents // avail_change[0]
first_list = [avail_change[0], first]
return [first_list, coin_change(avail_change[1:], (total_cents - (avail_change[0] * first)))]
else:
return coin_change(avail_change[1:], total_cents)
结果:
coin_change([50,5,1],108) => [[50,2],[5,1],[1,3]]
expected [[50, 2], [5, 1], [1, 3]], saw [[50, 2], [[5, 1], [[1, 3], []]]]
我需要让列表结束,[1,3]
但我不知道该怎么做。