(PAT乙级)写出这个数(Python)
2018-02-16 16:01
232 查看
读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格。输入样例:
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))
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))
相关文章推荐
- PAT乙级1002. 写出这个数 (20)
- 浙大PAT乙级 1002. 写出这个数
- PAT 乙级 -- 1002 -- 写出这个数
- PAT-B 1002. 写出这个数 (python)
- PAT乙级真题及训练集(21)--1002. 写出这个数 (20)
- PAT-乙级-1002. 写出这个数 (20)
- pat乙级1002. 写出这个数 (20)
- 浙江大学PAT_乙级_1002. 写出这个数 (20)
- Python初学练习——(PAT)1002. 写出这个数 (20)
- PAT乙级练习题1002. 写出这个数
- PAT乙级1002. 写出这个数 C++
- PAT-乙级-1002. 写出这个数 (20)
- [PAT-乙级]1002.写出这个数
- PAT乙级真题1002_写出这个数
- PAT_乙级 1002 写出这个数
- PAT乙级——1002写出这个数
- PAT 乙级 1002. 写出这个数
- 牛客网编程练习之PAT乙级(Basic Level):1034 写出这个数
- PAT训练(乙级)—— 1002. 写出这个数 (20)
- 1002. 写出这个数 (20)PAT乙级真题