题解 | #人民币转换#

人民币转换

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

wy = ['亿', '万']
qbs = ['仟', '佰', '拾']
d = {'1': '壹', '2': '贰', '3': '叁', '4': '肆', '5': '伍', '6': '陆', '7': '柒', '8': '捌', '9': '玖'}
def form_str(str1):
    s = ''
    if len(str1) == 4:
        if str1[0] == '0':
            s += '零'
            str1 = str1[1:]
        else:
            s += d[str1[0]] + qbs[0]
            str1 = str1[1:]
    if len(str1) == 3:
        if str1[0] == '0' and s[-1] != '零':
            s += '零'
            str1 = str1[1:]
        elif str1[0] == '0' and s[-1] == '零':
            str1 = str1[1:]
        else:
            s += d[str1[0]] + qbs[1]
            str1 = str1[1:]
    if len(str1) == 2:
        if str1[0] == '0' and s[-1] != '零':
            s += '零'
            str1 = str1[1:]
        elif str1[0] == '0' and s[-1] == '零':
            str1 = str1[1:]
        elif str1[0] == '1':
            s += qbs[2]
            str1 = str1[1:]
        else:
            s += d[str1[0]] + qbs[2]
            str1 = str1[1:]
    if len(str1) == 1:
        if str1 == '0':
            str1 = ''
        else:
            s += d[str1[0]]
            str1 = ''
    if str1 == '' and s != '':
        if s[-1] == '零':
            return s[:-1]
    return s


def main():
    l = ['仟亿', '佰亿', '拾亿', '亿', '仟万', '佰万', '拾万', '万', '仟', '佰', '拾', '个']
    r = ['角', '分']

    rmb = input().split('.')
    # rmb = '0.85'.split('.')
    rmb_l = rmb[0]
    rmb_r = rmb[1]
    res = []
    while len(rmb_l):
        res.append(rmb_l[-4:])
        rmb_l = rmb_l[:-4]
    ss = res
    rr = ''
    if len(ss) == 3:
        rr += form_str(ss.pop()) + '亿'
    if len(ss) == 2:
        rr += form_str(ss.pop()) + '万'
    if len(ss) == 1:
        rr += form_str(ss.pop())

    tt = ''
    if len(rmb_r) == 2:
        if rmb_r[0] == '0':
            rmb_r = rmb_r[1:]
        else:
            tt += d[rmb_r[0]] + '角'
            rmb_r = rmb_r[1:]
    if len(rmb_r) == 1:
        if rmb_r[0] == '0':
            rmb_r = ''
        else:
            tt += d[rmb_r[0]] + '分'
            rmb_r = ''
    if tt == '':
        rr += '元整'
    elif rr != '':
        rr += '元' + tt
    else:
        rr += tt
    print('人民币'+rr)
main()

全部评论

相关推荐

01-07 07:54
已编辑
门头沟学院 前端工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务