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