题解 | #人民币转换#

人民币转换

https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b

from io import IncrementalNewlineDecoder
import sys
while True:
    try:
        dic ={'0':'零','1':'壹','2':'贰','3':'叁','4':'肆','5':'伍','6':'陆','7':'柒','8':'捌','9':'玖'}
        dw =['','拾','佰','仟']
        dm =['角','分']
        dn =['元','万','亿']
        a= input().split('.')
        b1= a[0][::-1]
        b2= a[1]
        mon,mon1,mon2 ='','',''
        inx = len(b1)//4
        mtp =''
        #整数处理
        for i in range(inx+1):
            mtp=dn[i]
            j=-1
            tmp = b1[4*i:4*i+4]
            for k in tmp:
                #大写表述
                v = dic.get(k,'0')
                #单位
                j +=1
                d=dw[j]
                if v =='零':
                    mtp +=v
                else:
                    mtp +=d+v
            mtp = mtp[::-1]
            mon1 = mtp+mon1
        #小数处理
        for i in range(len(b2)):
            k =b2[i]
            v= dic.get(k,'0')
            d= dm[i]
            mon2+=v+d
        if mon2=='零角零分':
            mon2='整'
        mon+='人民币'+mon1+mon2
        mon =mon.replace('零角','')
        mon =mon.replace('零分','')
        mon = mon.replace('零零','')
        mon = mon.replace('零元','')
        mon =mon.replace('壹拾','拾')

        print(mon)
    except:
        break

全部评论

相关推荐

点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务