题解 | #人民币转换#
人民币转换
https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b
def f(n):
if n<20:
s = lis[n]
elif n<100:
if n%10>=1:
s = f(n//10) + '拾' + f(n%10)
else:
s = f(n//10) + '拾'
elif n<1000:
if n%100>=10:
s = f(n//100) + '佰' + f(n%100)
elif n%100>0:
s = f(n//100) + '佰零' + f(n%100)
else:
s = f(n//100) + '佰'
elif n<10000:
if n%1000>=100:
s = f(n//1000) + '仟' + f(n%1000)
elif n%1000>0:
s = f(n//1000) + '仟零' + f(n%1000)
else:
s = f(n//1000) + '仟'
elif n<100000000:
if n%10000>=1000:
s = f(n//10000) + '万' + f(n%10000)
elif n%10000>0:
s = f(n//10000) + '万零' + f(n%10000)
else:
s = f(n//10000) + '万'
else:
if n%100000000>=10000000:
s = f(n//100000000) + '亿' + f(n%100000000)
elif n%100000000>0:
s = f(n//100000000) + '亿零' + f(n%100000000)
else:
s = f(n//100000000) + '亿'
return s
lis = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖','拾','拾壹','拾贰','拾叁','拾肆','拾伍','拾陆','拾柒','拾捌','拾玖']
a,b = map(int,input().split('.'))
if a>0:
s = '人民币' + f(a) + '元'
else:
s = '人民币'
if b==0:
s += '整'
elif b<10:
s += lis[b] + '分'
elif b%10==0:
s += lis[b//10] + '角'
else:
s += lis[b//10] + '角' + lis[b%10] + '分'
print(s)