知识点:1.区分转化的数字和位数对应的汉字,建立数字对应列表数位对应列表

2.将数字分为整数部和小数部,整数部(逆序)按照列表对应数字和数位输出,小数部区分角和分;

3.新建空字符串存储转化后的字符res='';

3.整数部处理情况:

1)将字符串中整数部分逆序输出str1[0][::-1],由低数位向高数位依次遍历;

2)整数部出现0时,对应数字列表第一个‘零’;

3)整数部不为0时,按照数字+数位+已存在字符串存储,list1[int(zheng[i])] + list2[i] +res

4)将'壹拾'替换为'拾',res = res.replace('壹拾','拾');

5)调用re库,使用正则匹配将字符串中两个以上零替换为一个,tmp = re.findall(r'[\'零\']{2,20}',res)

import re
str1 = input().split('.')
list1 = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾','佰','仟','万','亿']
list2 = ['','拾','佰','仟','万','拾','佰','仟','亿']
zheng = str1[0][::-1]
xiao = str1[1]
res = ''
if int(zheng)>0:
    for i in range(len(zheng)):
        if zheng[i] == '0':
            res = list1[int(zheng[i])] + res
        else:
            res = list1[int(zheng[i])] + list2[i] +res
    res = res.replace('壹拾','拾')
    tmp = re.findall(r'[\'零\']{2,20}',res)
    for t in tmp:
        res.replace(t,'零')
    if res[-1] == '零':
        res = res[:-1]
    res += '元'
if int(xiao)==0:
    res+='整'
elif int(xiao)>=10:
    if int(xiao[1])!=0:
        res+= list1[int(xiao[0])] + '角' + list1[int(xiao[1])] + '分'
    else:
        res+= list1[int(xiao[0])] + '角'
else:
    res+= list1[int(xiao[1])] + '分'
res = '人民币' + res
print(res)