所以我已经尝试了几个小时来做这个测试,我想使用 Tuple 和 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 代码来达到这一点。我确定一定有一个我缺少的简单解决方案,在此先感谢您的帮助..