题目
思路
- 对数字进行转换,阿拉伯数字和大写汉字之间有对应关系
- 对单位进行转换,见下图。每4位是一组,每组中第0位
- 对零做处理,重复的零删除
代码
x=input("")
dict_num = {
"0":"零"
,"1":"壹"
,"2":"贰"
,"3":"叁"
,"4":"肆"
,"5":"伍"
,"6":"陆"
,"7":"柒"
,"8":"捌"
,"9":"玖"
,"10":"拾"}
dict_danwei = ["","拾","佰","仟"]
dict_danwei2 = ["元","万","亿","兆"]
x2 = x [::-1]
strr = ""
i = 0
for ii in x2:
if i%4 == 0:
if ii != "0":
strr = dict_num[ii] + dict_danwei2[i//4] + strr
else:
strr = dict_danwei2[i//4] + strr
else:
if ii != "0":
strr = dict_num[ii]+dict_danwei[i%4] + strr
else:
strr = dict_num[ii] + strr
i = i + 1
res = strr[0]
for k in range(1,len(strr)):
if strr[k-1] == "零" and strr[k] == "零":
continue
if strr[k] == "零":
if strr[k+1] == "元" or strr[k+1] == "万" or strr[k+1] == "亿" and strr[k+1] == "兆":
continue
res = res + strr[k]
print(res)