一、题目
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10
100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
二、代码
思路:
这个比较巧妙,代码也简洁,利用Python的字典功能实现阿拉伯数字和相应拼音的对应关系,然后利用 Python的特性,输入的默认为字符串,然后字符串具有迭代特性,对其每一位进行强制转换得到各位数字的和,其实这里还可以用字符串的特性,将和看坐字符串,同样迭代利用字典打印即可。
n =input()
sum = 0
data = []
num = {0:'ling',1:'yi',2:'er',3:'san',4:'si',5:'wu',6:'liu',7:'qi',8:'ba',9:'jiu'}
for i in n:
sum = sum + int(i)
while sum != 0:
data.append(sum %10)
sum = int(sum/10)
while len(data)!=1:
print(num[data.pop()],end= ' ')
print(num[data.pop()])
n = input()
sum = 0
num = {0:'ling',1:'yi',2:'er',3:'san',4:'si',5:'wu',6:'liu',7:'qi',8:'ba',9:'jiu'}
for i in n:
sum = sum + int(i)
sum = str(sum)
i = 0
length = len(sum)
while i<length -1:
i = i+ 1
print(num[int(sum[i-1])],end= ' ')
print(num[int(sum[len(sum)-1])])