题解 | #人民币转换#
人民币转换
https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b
table1 = {
"1": "壹",
"2": "贰",
"3": "叁",
"4": "肆",
"5": "伍",
"6": "陆",
"7": "柒",
"8": "捌",
"9": "玖",
"0": "零",
}
def myturn(str1):
restr = ""
if len(str1) == 4 and str1.count("0") == 0:
restr = ( table1[str1[0]]+ "仟"
+ table1[str1[1]]+ "佰"
+ table1[str1[2]]+ "拾"
+ table1[str1[3]] )
elif len(str1) == 4 and str1[3] == "0":
restr = ( table1[str1[0]] + "仟"
+ table1[str1[1]] + "佰"
+ table1[str1[2]] + "拾" )
elif len(str1) == 4 and str1[3] == str1[2] == "0":
restr = ( table1[str1[0]] + "仟"
+ table1[str1[1]] + "佰" )
elif len(str1) == 4 and str1[3] == str1[2] == str1[1] == "0":
restr = table1[str1[0]] + "仟"
elif len(str1) == 3 and str1.count("0") == 0:
restr = ( table1[str1[0]]+ "佰"
+ table1[str1[1]]+ "拾"
+ table1[str1[2]] )
elif len(str1) == 3 and str1[2] == '0':
restr = ( table1[str1[0]]+ "佰"
+ table1[str1[1]]+ "拾" )
elif len(str1) == 3 and str1[2] == str1[1] == '0':
restr = table1[str1[0]]+ "佰"
elif len(str1) == 2 and str1.count("0") == 0:
restr = ( table1[str1[0]]+ "拾"
+ table1[str1[1]] )
elif len(str1) == 2 and str1[1] == '0':
restr = table1[str1[0]]+ "拾"
elif len(str1) == 1:
restr = table1[str1[0]]
restr = restr.replace('零拾','零').replace('零佰','零').replace('零零','零').replace('壹拾','拾')
return restr
def mycut(str1):
relist, len1 = [], len(str1) % 4
if len1 != 0:
relist.append(str1[0:len1])
for i in range(len1, len(str1), 4):
relist.append(str1[i : i + 4])
return relist
a = input().strip().split(".")
resault = ''
re1 = mycut(a[0])
if len(re1) == 3:
resault += (myturn(str(int(re1[0]))) + '亿'
+ myturn(str(int(re1[1]))) + '万'
+ myturn(str(int(re1[2]))) + '元')
elif len(re1) == 2:
resault += (myturn(str(int(re1[0]))) + '万'
+ myturn(str(int(re1[1])))+ '元')
elif len(re1) == 1 and re1[0] != '0':
resault += myturn(str(int(re1[0])))+ '元'
else:
resault +=''
if len(a[1]) == 2 and a[1].count('0') == 0:
resault += table1[a[1][0]] + '角' + table1[a[1][1]] + '分'
elif len(a[1]) == 2 and a[1][0] == '0' and a[1].count('0') == 1:
resault += table1[a[1][1]] + '分'
elif len(a[1]) == 2 and a[1][1] == '0' and a[1].count('0') == 1:
resault += table1[a[1][0]] + '角'
else:resault += '整'
print('人民币'+resault)

查看2道真题和解析