您的位置:首页 > 编程语言 > Python开发

(PAT乙级)写出这个数(Python)

2018-02-16 16:01 232 查看
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:
1234567890987654321123456789
输出样例:yi san wu使用了sys.stdout.write()来输出,后来得知用print( , end=' ')就可以防止print的自动换行import sys
a = int(input())

b = str(a)
sum = 0
for i in b:
sum = sum + int(i)
dic = {'1':'yi', '2':'er', '3':'san' , '4':'si' , '5':'wu' , '7':'qi' , '8':'ba' , '9':'jiu' , '0':'ling' , '6':'liu'}

# for i in range(len(str(sum))):#在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。利用for循环,if语句,stdout来完成
# if i == 0:
# sys.stdout.write(dic[str(sum)[0]])#用stdout实现在for循环的情况下,将结果打印在同一行
# else:
# sys.stdout.write(' '+dic[str(sum)[i]])
x = []
for i in range(len(str(sum))):
x.append(dic[str(sum)[i]])
sys.stdout.write(' '.join(x))
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python pat