如何使函数打印更多结果?

How can I make function print more results?

所以我已经花了几个小时尝试做这个测试,我想使用元组和 divmod 函数为我的结果生成一个非常串联的方式,我终于找到了一个解决方案。 但我不明白为什么它只打印 1 个结果而不是多个.. 这是我的代码:

def tilt(money):
     amount = [(1,'dollar'),(0.25,'quarter'),(0.10,'dime'),(0.05,'nickel'),(0.01,'pennie')]
     total = {}
     for amount_value, amount_name in amount:
         if money >= amount_value:
             number_amount, money = divmod(money, amount_value)
             total[amount_name] = number_amount
     return total

    print(tilt(10.65))

# result for this is {'dollar': 10.0}

# what I expect is {'dollar': 10, 'quarter': 2, 'dime': 1, 'nickel': 1}

我只是无法全神贯注于解决方案,我想避免进入无休止的 If-Else 代码来达到这一点。 我确定一定有一个我遗漏的简单解决方案,在此先感谢您的帮助..

我无法发表评论;但这可能取决于您的缩进。如果您将 return 语句与您的 for 循环放在一起 - 您将得到您正在寻找的响应。

所以如下:

def tilt(money):
    amount = [(1, 'dollar'), (0.25, 'quarter'), (0.10, 'dime'),
              (0.05, 'nickel'), (0.01, 'pennie')]
    total = {}
    for amount_value, amount_name in amount:
        if money >= amount_value:
            number_amount, money = divmod(money, amount_value)
            total[amount_name] = number_amount
    return total