读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10100。
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
#数字转换成拼音
def tra(num):
return {
0: 'ling',
1: 'yi',
2: 'er',
3: 'san',
4: 'si',
5: 'wu',
6: 'liu',
7: 'qi',
8: 'ba',
9: 'jiu'
}.get(num, 'error')
#输入一个数
i = int(input())
k = 0
#对该数进行各个位数上求和
while i > 0:
j =int(i % 10)
i =int(i // 10)
k += j
#取百十个位上的数 b 百, s 十, g 个
b = k // 100
s = k // 10 % 10
g = k % 10
#根据情况分类输出
if s == 0 and b == 0:
print(tra(g))
elif b == 0:
print(tra(s) + ' ' + tra(g))
else:
print(tra(b) + ' ' + tra(s) + ' ' + tra(g))
谢谢支持,后续会继续更新PAT Python真题!点个赞再走吧!