python 找零錢方案


python:找零錢方案

def zhaoling(price,pay):
    re=float(pay)-float(price)
    if re==0:
        return 0
    coins=[50,10,5,1]
    decoin=[0.5,0.2,0.1]
    
    restr=str(re)
    integer=int(restr.split(".")[0])
    decimal=round(float(restr.split(".")[1])*0.1,1)
    redict={}
    for i in coins:
        n=integer//i
        
        if n!=0:
            redict[i]=n;
        integer=integer%i
        if integer==0:
            break;
            
    for i in decoin:
        n=decimal//i
        if n!=0:
            redict[i]=int(n);
        decimal=decimal%i
        if decimal==0:
            break;
    
    ret=""
    for i in redict:
        ret=ret+str(i)+":"+str(redict[i])+";"

    print(str(re)+" "+ret)    

def main():
    x =input()
    a=x.split(" ")
    zhaoling(a[0],a[1])
    
if __name__ =='__main__':
    
    main()

輸入:

26.5 50

輸出:

23.5 10:2;1:3;0.5:1;

輸入:

27 50

輸出:

23.0 10:2;1:3;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM