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

1006Python3-- PAT (Basic Level)

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

    \color{red}{换个格式输出整数 }

    1题目:

    让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12...n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。

    输入格式:
    每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。

    输出格式:
    每个测试用例的输出占一行,用规定的格式输出 n。

    输入样例 1:
    234
    输出样例 1:
    BBSSS1234

    输入样例 2:
    23
    输出样例 2:
    SS123

    2思考过程:

    判断是否为三位数,将百位上的数赋值给B,十位赋值给S,个位上的数就迭代输出

    3程序:

    (一)

        n = input()
        yu = []
        for i in range(len(n)):    
            yu.append(int(n) % 10)
            n = int(n) / 10
        l = len(yu)     
        if l == 3:       
            for i in range(yu[2]):
                print('B', end = '')
            for i in range(yu[1]):
                print('S', end = '')
            for i in range(yu[0]):
                print(i + 1, end = '')
    
    
        if l == 2:    
            for i in range(yu[1]):
                print('S', end = '')
            for i in range(yu[0]):
                print(i + 1, end = '')
    
        if len(yu) == 1:  
            for i in range(yu[0]):
                print(i + 1, end = '')      
    

    (二)

        n = int(input())
        b = int(n / 100)
        s = int((n - 100 * b) / 10)
        g = n - 100*b - 10 * s
    
        s1 = 'B' * b
        s1 += 'S'* s
        s1 += str(list(range(1, g + 1))).replace(', ','')[1 : g + 1]
    
        print(s1)
    

    4结果:

    输入1

        234 
    

    输出1

        BBSSS1234
    

    输入2

        23 
    

    输出2

       SS123
    

    相关文章

      网友评论

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

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