题解 | #人民币转换#
人民币转换
https://www.nowcoder.com/practice/00ffd656b9604d1998e966d555005a4b
# !/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'tianyi' __date__ = '2024/3/24 17:29 ' __file__ = 'HW_HJ95.py' import sys # 1. 读取输入 num = float(input().rstrip()) #人民币转换 #输入:人民币数字 #输出:中文大写 def convert(num): if num == 0: return "零" num = str(num) num = num.split(".") num1 = num[0] num2 = num[1] num1 = num1[::-1] num2 = num2[::-1] num1 = num1.replace("0","") num1 = num1[::-1] num2 = num2.replace("0","零") num2 = num2[::-1] num1 = num1.replace("1","壹") num1 = num1.replace("2","贰") num1 = num1.replace("3","叁") num1 = num1.replace("4","肆") num1 = num1.replace("5","伍") num1 = num1.replace("6","陆") num1 = num1.replace("7","柒") num1 = num1.replace("8","捌") num1 = num1.replace("9","玖") #num2 = num2.replace("0","零") num2 = num2.replace("1","壹") num2 = num2.replace("2","贰") num2 = num2.replace("3","叁") num2 = num2.replace("4","肆") num2 = num2.replace("5","伍") num2 = num2.replace("6","陆") num2 = num2.replace("7","柒") num2 = num2.replace("8","捌") num2 = num2.replace("9","玖") #十百千万亿 if len(num1) == 1: num1 = num1 + "元" elif len(num1) == 2: num1 = num1[0] + "拾" + num1[1] + "元" elif len(num1) == 3: num1 = num1[0] + "佰" + num1[1] + "拾" + num1[2] + "元" elif len(num1) == 4: num1 = num1[0] + "仟" + num1[1] + "佰" + num1[2] + "拾" + num1[3] + "元" elif len(num1) == 5: num1 = num1[0] + "万" + num1[1] + "仟" + num1[2] + "佰" + num1[3] + "拾" + num1[4] + "元" elif len(num1) == 6: num1 = num1[0] + "拾" + num1[1] + "万" + num1[2] + "仟" + num1[3] + "佰" + num1[4] + "拾" + num1[5] + "元" elif len(num1) == 7: num1 = num1[0] + "佰" + num1[1] + "拾" + num1[2] + "万" + num1[3] + "仟" + num1[4] + "佰" + num1[5] + "拾" + num1[6] + "元" elif len(num1) == 8: num1 = num1[0] + "仟" + num1[1] + "佰" + num1[2] + "拾" + num1[3] + "万" + num1[4] + "仟" + num1[5] + "佰" + num1[6] + "拾" + num1[7] + "元" # elif len(num1) == 9: # num1 = #元角分 if len(num1) > 2: num1 = num1.lstrip("壹") if num2 == "": return "人民币" + num1 + "整" elif len(num2) == 1: return "人民币" + num1 + num2 + "角" elif len(num2) == 2: if num2[1] == "零": return "人民币" + num1 + num2[0] + "角" elif num2[0] == "零": return "人民币" + num1 + num2[1] + "分" else: return "人民币" + num1 + num2[0] + "角" + num2[1] + "分" else: return "人民币的小数点后" + num[1] + "数据输入错误,目前仅支持到分" print(convert(num))
[::-1]倒转字符串的意义何在,是否必需