target = int(input('请输入需要找零的金额: ')) # 找零钱目标数
money = [100, 50, 20, 10, 5, 2, 1] # 纸币种类,需要有有个小小的排序,从小到大的顺序
number = [0, 0, 0, 0, 0, 0, 0] # 纸币种类的张数记录
for i in range(len(money)): # 排循环,从最大面值开始考虑 0 1 2 3 4 5 6
number[i] = target // money[i] # 取整,算出当前面值可以找的最大张数
target = target % money[i] # 取余,算出当前面值找零后剩下的钱数
for i in range(len(money)):
print(money[i], '元的张数为:', number[i], '张')
print('需要的纸币的张数', number)
结果:
请输入需要找零的金额: 32
100 元的张数为: 0 张
50 元的张数为: 0 张
20 元的张数为: 1 张
10 元的张数为: 1 张
5 元的张数为: 0 张
2 元的张数为: 1 张
1 元的张数为: 0 张
需要的纸币的张数 [0, 0, 1, 1, 0, 1, 0]