본문 바로가기

배운다/파이썬

147 : 반복제어문3 - 형성평가8

 

 

풀이 1 )

 

n = int(input("숫자입력: "))

count = 0 
for i in range(0,n):
    print()    
    for x in range(0,n):
        if i>x:
            print(" ",end=" ")
        else:
            count = count + 1
            print(count,end=" ")

 

 

 

풀이 2 )

 

 

n = int(input())
list_int = \
    [str(x) + ' ' if x < 10 else str(x) for x in range(1, n * (n + 1) // 2 + 1)]

p = 0
for i in range(n):
    if n < 5:
        print((''.join(list_int[p:p + n - i])).rjust(2 * n))
    else:
        print((' '.join(list_int[p:p + n - i])).rjust(n * 3 - 1))
    p += n - i

 

 

 

풀이 3 )

 

 

number = int(input(''))
space = 0
pnumber = 1
cnumber = 0
line = 1

while line <= number:
    if cnumber + space == number:
        print(pnumber)
        pnumber += 1
        cnumber = 0
        line += 1
    elif line == space + 1:
        print('  '*space, end='')
        space += 1
    else:
        print(pnumber, end=' ')
        pnumber += 1
        cnumber += 1

 

 

 

 

풀이 4 )

 

 

def num_tri2(num):
    k = 1
    for i in reversed(range(1,num+1)):
        num_str = ""
        for j in range(0,i):
            num_str += " "+str(k%10)
            k = k+1
        
        print(num_str.rjust(num*2))
        

num = int(input())
num_tri2(num)