我目前正在尝试编写一些代码,在给定硬币值列表的情况下,它将返回总和为某个值的所有可能的硬币组合。这是程序应该如何运行的示例:
>>> find_changes(4,[1,2,3])
[[1, 1, 1, 1], [2, 1, 1], [1, 2, 1], [3, 1], [1, 1, 2], [2, 2], [1, 3]]
Run Code Online (Sandbox Code Playgroud)
我得到了以下代码模板来填写:
def find_changes(n, coins):
if n < 0:
return []
if n == 0:
return [[]]
all_changes = []
for last_used_coin in coins:
### DELETE THE "pass" LINE AND WRITE YOUR CODE HERE
pass
return all_changes
Run Code Online (Sandbox Code Playgroud)
我尝试在for循环中使用以下代码:
all_changes.append[last_used_coin]
find_changes(n-last_used_coin,coins)
Run Code Online (Sandbox Code Playgroud)
它目前不起作用。我究竟做错了什么?