Python之整数转化为中文字符

原始需求:

从键盘接受一个正整数,列出该数字的中文表示格式,例如:键盘输入 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

你可能感兴趣的:(python,开发语言)