美文网首页
1002Python3-- PAT (Basic Level)

1002Python3-- PAT (Basic Level)

作者: s苏薳 | 来源:发表于2018-10-12 16:21 被阅读0次

\color{red}{写出这个数 }

1题目:

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

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

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

输入样例:
1234567890987654321123456789
输出样例:
yi san wu

2思考过程:

主要需要完成四个步骤:第一,判断小于 10**​100;第二,求和;第三,转为拼音;第四,添加空格
其中包括三种方法:(1)普通的if语句,(2)列表,(3)字典

3程序:

(1)普通的if语句

    number = input()
    sum = 0
    if int(number) < 10**100 :
        for numbers in number :
            sum = sum + int(numbers)
            strsums = str(sum)
        

    info=[]
    for strsum in strsums :
        if strsum == "1":
            info.append("yi")
        elif  strsum == "2":
            info.append("er")
        elif  strsum == "3":
            info.append("san")
        elif  strsum == "4":
            info.append("si")
        elif  strsum == "5":
            info.append("wu")
        elif  strsum == "6":
            info.append("liu")
        elif  strsum == "7":
            info.append("qi")
        elif  strsum == "8":
            info.append("ba")
        elif  strsum == "9":
            info.append("jiu")
        elif  strsum == "0":
            info.append("ling")
    print(' '.join(info))

(2)列表

    number = input()
    sum = 0
    if int(number) < 10**100 :
        for numbers in number :
            sum = sum + int(numbers)
            strsums = str(sum)
            
    listTag = ["ling","yi", "er", "san", "si", "wu", "liu", "qi", "ba", "jiu"]

    info=[]
    for strsum in strsums :
            strNum = listTag[int(strsum)]
            info.append(strNum)
    print(' '.join(info))

(3)字典

    number = input()
    sum = 0
    if int(number) < 10**100 :
        for numbers in number :
            sum = sum + int(numbers)
            strsums = str(sum)

    dict={'1':'yi',
        '2':'er',
        '3':'san',
        '4':'si',
        '5':'wu',
        '6':'liu',
        '7':'qi',
        '8':'ba',
        '9':'jiu',
        '0':'ling'
        }

    info = []
    for strsum in strsums :
        info.append(dict.get(strsum))
    print(' '.join(info))

4结果:

输入

        1234567890987654321123456789

输出

        yi san wu

相关文章

网友评论

      本文标题:1002Python3-- PAT (Basic Level)

      本文链接:https://www.haomeiwen.com/subject/hcegaftx.html