需求:假设市面上有4种面值 硬币,20元、10元、5元、1元。输入一个钱数,能够使用最少的硬币凑成这个钱数。
代码:
def count_money(money):
l = [0, 0, 0, 0]
coins_types = [20, 10, 5, 1]
for i in range(len(coins_types)):
if money >= coins_types[i]:
if money % coins_types[i] == 0:
l[i] = money // coins_types[i]
break
else:
l[i] = money // coins_types[i]
money = money % coins_types[i]
return "可以用{}枚{}元、{}枚{}元、{}枚{}元和{}枚{}元凑齐".format(l[0], coins_types[0], l[1], coins_types[1], l[2], coins_types[2], l[3], coins_types[3])
m = input("请输入一个钱数:")
if m.isdigit:
count_money(int(m))
print(count_money(int(m)))
执行结果: