Python之整数转化为中文字符

文章介绍了两种用Python将用户输入的正整数转换为其中文表示的方法:一种使用列表和循环,另一种利用字典进行键值映射。在第一种方法中,通过不断除以10获取每一位数字并将其对应的中文字符添加到结果列表中;第二种方法则尝试将输入转换为整数,然后使用字典直接查找中文对应值并连接成字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原始需求:

从键盘接受一个正整数,列出该数字的中文表示格式,例如:键盘输入 123,打印出一二三;键盘输入 3103,打印出三一零三.(考验循环和列表的索引使用)

百度到的CSDN中的写法如下:

data = int(input('请输入一个正整数:'))
cn_num = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九'] #0到9的数字对应的中文数字
print_answer = [] #存放打印的数字对应的中文字符
while data:
    print_answer.append(cn_num[data % 10])
    data //= 10
for i in range(len(print_answer) - 1, -1, -1):
    print(print_answer[i], end='')

还可以考虑字典键值的方法:

my_dict = {'0':'零','1':'一','2':'二','3':'三','4':'四','5':'五','6':'六','7':'七','8':'八','9':'九'}
while True:
    input_key = input('请输入整数:')
    try:
        if int(input_key)<0:
            raise BaseException()
        result = "".join([my_dict.get(i) for i in input_key])
        print(result)
        break
    except:
        print(f"提示 :{input_key}不是正整数")
        break
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值