00320030003400301584797827430

描述:

输入一个整数,输出每个数字对应的拼音。当整数为负数时,先输出fu字。十个数字对应的拼音如下:‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
0: ling‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
1: yi‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
2: er‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
3: san‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
4: si‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
5: wu‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
6: liu‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
7: qi‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
8: ba‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
9: jiu‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入格式:

输入在一行中给出一个整数,如:1234。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬
提示:整数包括负数、零和正数。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输出格式:

在一行中输出这个整数对应的拼音,每个数字的拼音之间用空格分开,行末没有最后的空格。如 yi er san si。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输入样例:

-600‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬

输出样例:

fu liu ling ling
解析:

  1. 输入一个数字,字符串形式
  2. 可以构建一个列表,元素为从0到9的拼音,为方便,将负号“-”的拼音加到列表,作为最后一个元素:

    ls=[‘ling’,‘yi’,‘er’,‘san’,‘si’,‘wu’,‘liu’,‘qi’,‘ba’,‘jiu’,‘fu’]

  3. 遍历字符串:

    1. 如果遍历到的元素是“-”则输出列表最后一个元素
    2. 否则,将遍历到的字符转整数,输出列表中以这个整数为序号的元素

题目的输出中还有一个格式控制,要求各元素间用空格分隔,但最后一个元素后不能有空格。有以下几种方法可以实现:

  1. 先输出除最后一个元素以外的其余元素,用空格做结束符,end = ‘ ‘,再输出最后一个元素
  2. 先输出第一个元素,再遍历输出其他元素,输出时在元素前中一个空格,结束符用空字符串,end = ‘’
  3. 创建一个空列表,遍历时用append()方法将得到的元素加到列表中,再输出列表元素,默认为空格分隔
  4. 用列表推导式直接把遍历到的元素放到列表中,再输出列表元素
  1. # 先输出除最后一个元素以外的其余元素,用空格字符串做结束符,end = ' ',再输出最后一个元素
  2. num=input()
  3. ls,l=['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu'],[]
  4. for i in num[:-1]:
  5. if i == '-':
  6. print(ls[-1],end = ' ')
  7. else:
  8. print(ls[int(i)],end = ' ')
  9. print(ls[int(num[-1])])
  1. # 先输出第一个元素,再遍历输出其他元素,输出时在元素前加一个空格,结束符用空字符串,end = ''
  2. num=input()
  3. ls,l=['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu'],[]
  4. for i in num:
  5. if i == '-':
  6. print(ls[-1],end = ' ')
  7. elif num.index(i) == 1:
  8. print(ls[int(i)], end='')
  9. else:
  10. print(' ' + ls[int(i)],end = '')
  1. # 创建一个空列表,遍历时用append()方法将得到的元素加到列表中,再输出列表元素,默认为空格分隔
  2. num=input()
  3. ls=['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu']
  4. l = []
  5. for i in num:
  6. if i == '-':
  7. print(ls[-1],end = ' ')
  8. else:
  9. l.append(ls[int(i)])
  10. print(*l) # 解包,输出列表l中的元素,默认用空格分隔
  1. # 用列表推导式直接把遍历到的元素放到列表中,再输出列表元素
  2. num=input()
  3. ls=['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu']
  4. if num[0] == '-':
  5. print(ls[-1],end = ' ')
  6. else:
  7. l = [ls[int(i)] for i in num]
  8. print(*l)

此方法是简单的二分支,可以用条件运算实现:

  1. num=input()
  2. ls=['ling','yi','er','san','si','wu','liu','qi','ba','jiu','fu']
  3. print(ls[-1],end = ' ') if num[0] == '-' else print(*[ls[int(i)] for i in num])