1.题目
本题的难点在于将第一次拆分后所求的和与相应拼音对应上,可以将拼音存到列表然后根据下标去对应。由于题中用到了两次拆分,所以我定义了一个函数方便多次调用,但本题中用到次数较少,直接写两次也是可以的。
2.代码如下
"""
输入:
1234567890987654321123456789
输出:
yi san wu
"""
def cut(n): # 定义一个拆分字符串的函数
n = str(n) # 获取传入的参数
lst = list(map(int, n)) # 拆分成int类型存入lst列表
return lst # 返回lst列表
def change(x): # 定义一个把数字转换成对应拼音的函数
data = ['ling', 'yi', 'er', 'san', 'si', 'wu', 'liu', 'qi', 'ba', 'jiu'] # 将0-9的拼音存储到data列表当中去
lst = [] # 定义一个空列表
for i in x: # 循环传入的列表
lst.append(data[i]) # 根据下标对应相应的拼音
return lst # 返回拼音列表
n = int(input()) # 输入一个正整数n
lst1 = cut(n) # 输入的数字拆分后存到lst1列表中
sum1 = sum(lst1) # 拆开的数字求和
lst2 = cut(sum1) # 和再拆分
newLst = change(lst2) # 转换成对应的汉语拼音存到新列表中
print(' '.join(newLst)) # 用空格分开
3.提交结果