测试例太少了,也不知道情况覆盖全面不全面
gewei = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
shiwei = ["", "拾","佰","仟"]
wanwei = ["", "万", "亿"]
def run(seq):
p0, p1 = seq.split(".")
s1, s2 ='', ''
if p1 == '00':
s2 += "整"
else:
if p1[0] != "0":
s2+=f"{gewei[int(p1[0])]}角"
if p1[1] != "0":
s2+=f"{gewei[int(p1[1])]}分"
s1list = []
if p0 != "0":
ps = p0[::-1]
for j in range(0, len(ps), 4):
tmp = []
tmp.append(('',wanwei[j//4], 0))
for i,p in enumerate(ps[j:j+4]):
if int(p) > 0:
tmp.append((gewei[int(p)], shiwei[i], i))
s1list.append(tmp)
s1 = ""
for j,s in enumerate(s1list[::-1]):
st = ''
s = s[::-1]
for i in range(len(s)-1):
st += s[i][0]+s[i][1]
if s[i][2]-s[i+1][2] > 1 and st[-1] != "零":
st+="零"
if len(st) >0:
if st[-1]=='零':
st = st[:-1]
else:
st = "零"
l = ''
if s[0][2] < 3 and st[-2:] != "拾万" and len(s1list)-1 > 0:
l = '零'
s1 = s1+l+st+s[-1][1]
res=f"{s1}元{s2}"
if res[:2] == "壹拾":
res = "拾"+res[2:]
res = res.replace("零元", "元")
else:
res=f"{s2}"
print("人民币"+res)
seq = input().strip()
run(seq)