python数字2大写汉字转换(金额转换)

文章目录

题目

在这里插入图片描述

思路

  1. 对数字进行转换,阿拉伯数字和大写汉字之间有对应关系
  2. 对单位进行转换,见下图。每4位是一组,每组中第0位

在这里插入图片描述

  1. 对零做处理,重复的零删除

代码

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)

猜你喜欢

转载自blog.csdn.net/weixin_39333120/article/details/109536250
今日推荐