python数字金额转换为中文大写金额(角、分)

初学python,有错望大佬改正,谢谢

编写程序,根据用户输入的金额数字转换成相应的中文大写数字。例如,1002.34转换为“壹仟零贰圆叁角肆分”,100转换为“壹佰圆整”。

list1 = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖', '拾']
list2 = ['圆', '拾', '佰', '仟', '萬']

money = str(eval(input("请输入金额:")))  # 预防输入0开头的数字
money2 = ''

money1 = str(int(float(money)))  # 多次类型转换去掉小数点后两位数
for i in range(0, len(money1)):  # 整数转换成中文汉字
    if int(money1[i]) != 0:
        money2 += list1[int(money1[i])] + list2[len(money1) - i - 1]
    else:
        if money2[-1] != "零":
            money2 += "零"

if '.' in money:  # 小数点后两位转换成中文
    if money[-3] == '.':
        money2 += list1[int(money[-2])] + '角'
        money2 += list1[int(money[-1])] + '分'
    elif money[-2] == '.':
        money2 += list1[int(money[-1])] + '角'

if money2[-1] == "零":  # 三种输出格式
    print(money2[0:len(money2) - 1] + "圆整")
elif money2[-1] == '角' or money2[-1] == '分':
    print(money2)
else:
    print(money2 + "整")

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值