题解 | #人民币转换#

人民币转换

https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b


table1 = {
    "1": "壹",
    "2": "贰",
    "3": "叁",
    "4": "肆",
    "5": "伍",
    "6": "陆",
    "7": "柒",
    "8": "捌",
    "9": "玖",
    "0": "零",
}
def myturn(str1):
    restr = ""
    if len(str1) == 4 and str1.count("0") == 0:
        restr = ( table1[str1[0]]+ "仟"
            + table1[str1[1]]+ "佰"
            + table1[str1[2]]+ "拾"
            + table1[str1[3]] )
    elif len(str1) == 4 and str1[3] == "0":
        restr = ( table1[str1[0]] + "仟" 
        + table1[str1[1]] + "佰" 
        + table1[str1[2]] + "拾" )
    elif len(str1) == 4 and str1[3] == str1[2] == "0":
        restr = ( table1[str1[0]] + "仟" 
        + table1[str1[1]] + "佰" )
    elif len(str1) == 4 and str1[3] == str1[2] == str1[1] == "0":
         restr = table1[str1[0]] + "仟"
    elif len(str1) == 3 and str1.count("0") == 0:
        restr = ( table1[str1[0]]+ "佰"
            + table1[str1[1]]+ "拾"
            + table1[str1[2]] )
    elif len(str1) == 3 and str1[2] == '0':
        restr = ( table1[str1[0]]+ "佰"
            + table1[str1[1]]+ "拾" )
    elif len(str1) == 3 and str1[2] == str1[1] == '0':
         restr = table1[str1[0]]+ "佰"
    elif len(str1) == 2 and str1.count("0") == 0:
        restr = ( table1[str1[0]]+ "拾"
            + table1[str1[1]] )
    elif len(str1) == 2 and str1[1] == '0':
        restr = table1[str1[0]]+ "拾"
    elif len(str1) == 1:
        restr = table1[str1[0]]
    restr = restr.replace('零拾','零').replace('零佰','零').replace('零零','零').replace('壹拾','拾')
    return restr
def mycut(str1):
    relist, len1 = [], len(str1) % 4
    if len1 != 0:
        relist.append(str1[0:len1])
    for i in range(len1, len(str1), 4):
        relist.append(str1[i : i + 4])
    return relist
a = input().strip().split(".")
resault = ''
re1 = mycut(a[0])
if len(re1) == 3:
    resault += (myturn(str(int(re1[0]))) + '亿' 
    + myturn(str(int(re1[1]))) + '万'
    + myturn(str(int(re1[2]))) + '元')
elif len(re1) == 2:
    resault += (myturn(str(int(re1[0]))) + '万' 
    + myturn(str(int(re1[1])))+ '元')
elif len(re1) == 1 and re1[0] != '0':
    resault += myturn(str(int(re1[0])))+ '元'
else:
    resault +=''
if len(a[1]) == 2 and a[1].count('0') == 0:
    resault += table1[a[1][0]] + '角' + table1[a[1][1]] + '分'
elif len(a[1]) == 2 and a[1][0] == '0' and a[1].count('0') == 1:
    resault += table1[a[1][1]] + '分'
elif len(a[1]) == 2 and a[1][1] == '0' and a[1].count('0') == 1:
    resault += table1[a[1][0]] + '角'
else:resault += '整'
print('人民币'+resault)

全部评论

相关推荐

醉蟀:你不干有的是人干
点赞 评论 收藏
分享
墨西哥大灰狼:如果你的校友卤馆还在的话,他肯定会给你建议的,可是卤馆注销了@ 程序员卤馆
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务