读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。
输入格式:
每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^100.
输出格式:
在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。
输入样例:
1234567890987654321123456789
输出样例:
yi san wu
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
初次错误:非零输出
from xpinyin import Pinyin
dict={'0': '零', '1': '一', '2': '二', '3': '三','4': '四',
'5': '五', '6': '六', '7': '七', '8': '八', '9': '九'}
n = list(input())
sum = 0
p = Pinyin()
for i in n:
sum += int(i)
sum = list(str(sum))
for i in sum:
for key,value in dict.items():
if key == i:
result = p.get_pinyin(value, ' ')
print(result,end=' ')
改进后依旧报错:非零输出
dict={'0': 'ling', '1': 'yi', '2': 'er', '3': 'san','4': 'si',
'5': 'wu', '6': 'liu', '7': 'qi', '8': 'ba', '9': 'jiu'}
n = list(input())
sum = 0
for i in n:
sum += int(i)
sum = list(str(sum))
for i in sum:
for key,value in dict.items():
if key == i:
print(value,end=' ')
格式错误
dict={'0': 'ling', '1': 'yi', '2': 'er', '3': 'san','4': 'si',
'5': 'wu', '6': 'liu', '7': 'qi', '8': 'ba', '9': 'jiu'}
n = list(input())
sum = 0
for i in n:
sum += int(i)
sum = list(str(sum))
for i in sum:
for key,value in dict.items():
if key == i:
if int(i)<=len(sum):
print(value,end=' ')
else:
print(value,end='')
正确答案:待考究