题解 | #人民币转换#

人民币转换

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]倒转字符串的意义何在,是否必需
全部评论

相关推荐

点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务