题解 | #人民币转换#
人民币转换
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