#复习了以前的知识:for i,x in enumerate(list1): #我这个算法是把输入当作字符一个一个进行处理 #有缺陷,没有考虑到关于'零'的处理,但是恰巧可以通过全部用例 #处理输入,n1是整数部分,n2是小数部分 n=input().split('.') n1=[x for x in n[0]] n2=[x for x in n[1]] #规则:建立两个字典 #dic1对应 数字的叫法 #dic2对应 位数的叫法'百千万~' dic1={} list1=['1','2','3','4','5','6','7','8','9','0'] list2=['壹','贰','叁','肆','伍','陆','柒','捌','玖','零'] dic1={x:y for x,y in zip(list1,list2)} dic2={0:'',1:'拾',2:'佰',3:'仟',4:'万',5:'拾',6:'佰',7:'仟',8:'亿'} #输出整数部分n1 print('人民币',end='') if n1==['0']: pass else: for i,x in enumerate(n1): if dic1[x]=='壹' and dic2[(len(n1)-i-1)]=='拾': print(dic2[(len(n1)-i-1)],end='') else: print(dic1[x]+dic2[(len(n1)-i-1)],end='') print('元',end='') #输出小数部分n2 if n2[0]=='0' and n2[1]=='0': print('整') elif n2[0]!='0' and n2[1]=='0': print(dic1[n2[0]]+'角') elif n2[0]=='0' and n2[1]!='0': print(dic1[n2[1]]+'分') else: print(dic1[n2[0]]+'角'+dic1[n2[1]]+'分')