问题:假设只有1分,2分,5分,1角,2角,5角,1元的零钱。在超市结账时,如需找顾客零钱,希望收银员将最少的零钱数找给顾客。那么,给定需要找的零钱数目,如何求得最少的零钱数? 例如:需要找8角零钱给顾客,那么,收银员可以找给1张5角,1张2角和1张1角 代码:defmain():存储每种零钱的面值d〔0。01,0。02,0。05,0。1,0。2,0。5,1。0〕s0存储每种硬币的数量dnum〔〕拥有的领钱总数tempinput(请输入每种领钱的数量:)dnum0temp。split()foriinrange(0,len(dnum0)):dnum。append(int(dnum0〔i〕))计算出收银员拥有多少钱sd〔i〕dnum〔i〕sumfloat(input(请输入需要找的零钱:))ifsums:当输入的总金额比收银员的总金额多时,无法进行找零print(数据有错。)return0i6whilei0:ifsumd〔i〕:nint(sumd〔i〕)ifndnum〔i〕:ndnum〔i〕sumnd〔i〕print(用了d个。1f元零钱(n,d〔i〕))i1ifnamemain:main() 运行结果:请输入每种领钱的数量:12121212121212请输入需要找的零钱:1。8用了1个1。0元零钱用了1个0。5元零钱用了1个0。2元零钱用了1个0。1元零钱