Python 贪婪算法和附加函数-如何创建新数组?

Python 贪婪算法和附加函数-如何创建新数组?,python,python-3.x,append,greedy,Python,Python 3.x,Append,Greedy,好的,我有一个数组硬币,我想创建一个新的数组,这个数组的长度和数组的长度相同,但是输入m所需的数组“硬币”中的硬币数量 coin = [200,100,50,20,10,5,2,1] 到目前为止,我有以下几点。我需要什么样的循环才能返回我想要的 def coinSplitGD2(m): coin = [200,100,50,20,10,5,2,1] if m==0: return 0 for i in range(len(coin)):

好的,我有一个数组硬币,我想创建一个新的数组,这个数组的长度和数组的长度相同,但是输入m所需的数组“硬币”中的硬币数量

coin = [200,100,50,20,10,5,2,1]
到目前为止,我有以下几点。我需要什么样的循环才能返回我想要的

def coinSplitGD2(m):

    coin = [200,100,50,20,10,5,2,1]

    if m==0:
        return 0
    for i in range(len(coin)):
        if coin...

因此,如果m是143,它将返回
[0,1,0,2,0,0,1,1]
表示没有200枚硬币,一枚100枚硬币,没有 50枚硬币、2枚20枚硬币、10枚硬币、5枚硬币、1枚2枚硬币和1枚1枚硬币

coin = [200,100,50,20,10,5,2,1]
def coinSplitGD2(m):
    a = []
    for c in coin:
        a.append(m // c)
        m %= c
    return a
以便:

coinSplitGD2(143)
返回:

[0, 1, 0, 2, 0, 0, 1, 1]

你想要的输出是什么?如果m是143,它将返回[0,1,0,2,0,0,1,1],这意味着没有200枚硬币,一枚100枚硬币,没有50枚硬币,两枚20枚硬币,没有10枚硬币,没有5枚硬币,一枚2枚硬币和一枚1枚1枚硬币