PAT乙级1002-Python

1002 写出这个数 (20 分)

注意:代码满分通过

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:

每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 。

输出格式:

在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。

输入样例:

1234567890987654321123456789

输出样例:

yi san wu

代码:

def main():
    # 用于保存拼音,使用列表利用了列表的有序性
    pinyinList = ["ling", "yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"]
    # 用于保存运算结果
    numSum = 0
    # 用于保存转化为拼音形式的结果
    result = ''
    n = input()
    for x in n:
        numSum += int(x)
    for x in str(numSum):
        result += ' ' + pinyinList[int(x)]
    # 去除第一个空格
    print(result[1:])

if __name__ == "__main__":
    main()

运行截图:

运行结果

总结:

总体上代码比较简单,但是我觉得自己最后一句去除第一个空格的地方不是很优雅,希望大家给出指导建议。

你可能感兴趣的:(PAT乙级1002-Python)