본문 바로가기
프로그램

[파이썬] 문제 : 문자그림(별 찍기)

by 오디세이99 2022. 11. 1.
728x90
반응형

 

for i in range(1, 15, 2):            # range는 1부터 15까지 2 Step으로 즉 1,3, 5... 와  같이 i가 됩니다.
    print('{:^14}'.format('*' * i))   # {}는 format에 있는 변수를 출력. '*'*i는 '' 를 i수 만큰 출력. ^14 공백으로 14자리 center정렬

 

a = int(input('Enter the line number'))  # a = 6일때
for i in range(1,a+1):       # range는 1부터 6+1까지 나옴. +1 은 range가 end-1까지 나오기 때문임.
    for j in range(a-i):     #  * 출력전 공백을 쓰기 위한 반복문. a=6일때 i가 처음에는 1. 그럼 j의 처음은 6-1=5가 되어 5개 공백쓰게 됨
        print(' ',end="")     # ' ' 즉 공백을 출력. end=""는 end 옵셥을 쓰면 줄바꿈하지 않음
    for j in range(1,i*2,1): # *을 출력하기 위한 반복문. 1부터 i*2까지 1 Step으로 함.i=2일때보면 range가 end-1까지 나오니3개 * 출력
        print('*',end="")
    print('')                 # 줄바꿈

 

 

n = int(input('줄 수를 입력하세요: '))

for i in range(1, n+1):
    for j in range(i):
        print('*', end='')
    print()

 

n = int(input('줄 수를 입력하세요: '))

for i in range(1, n+1):
    for j in range(n+1-i):
        print('*', end='')
    print()

 

 

n = int(input('줄 수를 입력하세요: '))

for i in range(1, n+1):
    for j in range(n-i):
        print(' ', end='')
    for j in range(i):
        print('*', end='')
    print()

 

n = int(input('줄 수를 입력하세요: '))

for i in range(1, n+1):
    for j in range(n+1-i):
        print(' ', end='')
    for j in range(2*i-1):
        print('*', end='')
    print()

 

y = int(input('줄 수를 입력하세요: '))

x = int(y/2) + 1

for i in range(1, 2*x):
    if i <= x:
        for j in range(x-i):
            print(' ', end='')
        for j in range(2*i-1):
            print('*',end='')
        print()
    else:
        for j in range(i-x):
            print(' ', end='')
        for j in range((2*x-i)*2-1):
            print('*',end='')
        print()

 

a = int(input('줄 수를 입력하세요: '))
for i in range(a):
    if i <= (a // 2):
        print(" " * (a // 2 - i), end="")
        print("*" * (2 * i + 1))
    else:
        print(" " * (i - a//2), end="")
        print("*" * (a - (2*i - a) - 1))

 

a = int(input('줄 수를 입력하세요: '))

for i in range(a-1):
    if a // 2 > i:
        print(" " * i, end="")
        print("*" * (a - 2 * i - 1))
    else:
        print(" " * (a - i - 2), end="")
        print("*" * ((2 * i) - a//2 - 1))

 

a = int(input('줄 수를 입력하세요: '))
for i in range(a):
    if i < (a//2):
        for x in range(a-i):
            print(" ", end="")
        for x in range(i*2+1):
            print("*", end="")
    else:
        for x in range(a - i):
            print(" ", end="")
        for x in range(i*2+1 - a):
            print("*", end="")
        for x in range(a - (i*2+1 - a)):
            print(" ", end="")
        for x in range(i*2+1 - a):
            print("*", end="")
    print()

a = int(input("정수를 입력하세요 "))

for i in range(a):
    for k in range(a,i,-1):
        print(' ',end='')

    start = ((i+1)*2-1)
    for k in range(start):
        if k == 0 or k==(start-1) or (i==a-1):
            print("*",end='')
        else:            
            print(" ",end='')
    print()

728x90
반응형

댓글