1006Python3-- PAT (Basic Level) 1006

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) 1006)