본문 바로가기

배운다/파이썬

554 : 반복제어문3 - 자가진단7

 

풀이 1 ) 

 

#자연수 n을 입력받음
#n개의 줄에 n+1개의 숫자 혹은 문자로 채워서 출력
#입력받는 수만큼 숫자 -1씩, 문자+1 출력
#수가 줄때마다 문자를 추가시켜 출력

num_list =[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,181,9,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40]
list =["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T","U", "V", "W", "X", "Y", "Z"]*3

n = int(input())
n = n + 1
for i in range(n,1,-1):
    for j in range(1,n+1,1):
        if i == j or j > i:
            print(list[0], end="")
            list.pop(0)

        else:
            print(num_list[0], end="")
            num_list.pop(0)
    print("")
       

 

 

 

 

풀이 2 ) 

 

 

  
import string

n = int(input())

list_int = [x for x in range(1, n * (n + 1) // 2 + 1)]
alpha = string.printable[36:]


# p is counter for integer
# z is counter for alphabet
p, z = 0, 0
for i in range(n):
    print(*list_int[p:p + n - i], end=' ')
    print(*alpha[z:z + i + 1])
    p += n - i
    z += i + 1

 

 

 

 

 

풀이 3 )

 

 

 

 

import string

alpha_list = list(string.ascii_uppercase)

count_number = int(input(''))

number = 1
alpha = 0

row = count_number
column = count_number + 1

count_row = 1 # 아래로 가는거
count_column = 1 # 오른쪽으로 가는거

while count_row <= row and count_column <= column:
    if column == count_column:
        print(alpha_list[alpha])
        alpha += 1
        count_row += 1
        count_column = 1
    elif column - count_column >= count_row:
        print(number, end=' ')
        number += 1
        count_column += 1
    else:
        print(alpha_list[alpha], end=' ')
        alpha += 1
        count_column += 1

 

 

 

 

 

 

풀이 4 )

 

 

 

import string

def alpha_rect(num):
    gen_alpha = string.printable[36:]
    k = 1
    l = 0
    for i in reversed(range(1,num+1)):
        num_str = ""
        for j in range(0,i):
            num_str += str(k)
            k = k+1
        
        print(num_str+gen_alpha[l:l+1+num-i])
        l = l+1+num-i
        

num = int(input())
alpha_rect(num)