Python实现的一个找零钱的小程序代码分享

711次阅读  |  发布于5年以前

Python写的一个按面值找零钱的程序,按照我们正常的思维逻辑从大面值到小面值的找零方法,人民币面值有100元,50元,20元,10元,5元,1元,5角,1角,而程序也相应的设置了这些面值。只需要调用函数时传入您想要找零的金额,程序会自动算各个面值的钱应该找多少张。如传入50元,则系统自动算出找零50元一张面值,如果传入60块7毛,则程序自动算出该找零50元一张,10元一张,5角一张,1角两张。


    # encoding=UTF-8

    def zhaoqian(money):
        loop=True
        tmp=['总金额:'+str(money)+'元']

        # 面值列表 单位:元
        cate=(
              100,
              50,
              20,
              10,
              5,
              1,
              0.5,
              0.1
        )

        sy=int(money*10)
        while loop:
            if sy==0:
                loop=False
            else:
                for row in cate:
                    tmpStr = ''
                    jine=int(row*10)
                    if jine>=10:
                        tmpUn = '元'
                    else:
                        tmpUn = '角'

                    if sy>=jine and tmpStr=='':
                        m = sy//jine
                        sy = sy%jine
                        if jine>=10:
                            tmpStr = str(jine//10)+tmpUn+str(m)+'张'
                        else:
                            tmpStr = str(jine)+tmpUn+str(m)+'张'
                        tmp.append(tmpStr)

        return tmp

    a=zhaoqian(88.7)
    for x in a:
        print x

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8