题解 | #人民币转换#

人民币转换

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

#写得好乱,感觉还没处理多个零的情况,不过过了就行,将就看吧,懒得改了
import sys
zd = '零壹贰叁肆伍陆柒捌玖拾佰仟万亿元角分整'
td = '"拾佰仟万亿'
def shibie(n:str):
    if len(n) == 4:
        return (zd[int(n[0])] +'仟'+ shibie(n[1:]))
    elif len(n) == 3:
        return zd[int(n[0])] +'佰'+ shibie(n[1:])
    elif len(n) == 2:
        if int(n[0]) != 1:
            return zd[int(n[0])] +'拾'+ shibie(n[1:])
        else:
            return '拾'+ shibie(n[1:])
    else:
        return zd[int(n[0])]

n = input().split('.')
ans = ''
if int(n[0]) != 0:
    m = len(n[0])
    if m >8:
        ans += shibie(n[0][:m-8]) +'万'
        ans += shibie(n[0][m-8:m-4]) + td[-2]
        ans += shibie(n[0][m-4:])
    elif m >4:
        ans += shibie(n[0][:m-4]) +'万'
        ans += shibie(n[0][m-4:])
    else:
        ans += shibie(n[0])
    ans += zd[-4]
if n[1][0] != '0':
    ans += zd[int(n[1][0])] + zd[-3]
if n[1][1] != '0':
    ans += zd[int(n[1][1])] + zd[-2]
if n[1][1] == '0' and n[1][0] == '0':
    ans += zd[-1]
print('人民币'+ans)

全部评论

相关推荐

zephory:内容太乱了,根本捕捉不到重点,指导你会的很多,但是看不到具体的强项 个人技能宜精不宜多 项目那块太繁琐了,面试官或者hr只想知道你在项目中看了啥以及具体的收益
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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