题解 | #人民币转换#
人民币转换
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)