프로그램

[파이썬] 문제 : 정수 홀수로 다이아몬드 정렬로 출력

오디세이99 2022. 11. 28. 16:45
728x90
반응형

for문으로 코드

n = int(input('1~9 호수 입력 : '))       # 입력 받기. 입력 문자열을 정수로 변환

x = int(n/2) + 1                         # 중간 위치 찾기

for i in range(1, 2*x):                 # 반복
    if i <= x:                          # i가 중간 위치(x) 작거나 같으면(점점 커지는 그림)
        for j in range(x-i):            # 공백으로 채움
            print(' ', end='')
        for j in range(2*i-1):          # 숫자로 채움
            print(str(i),end='')
        print()
    else:                               # i가 중간 위치(x) 크면(점점 작아지는 그림)
        for j in range(i-x):
            print(' ', end='')
        for j in range((2*x-i)*2-1):
            print(str(i),end='')
        print()

 

간량화된 코드

n = int(input('1~9 호수 입력 : '))       # 입력 받기. 입력 문자열을 정수로 변환

x = int(n/2) + 1                         # 중간 위치 찾기

for i in range(1, 2*x):                 # 반복
    if i <= x:                          # i가 중간 위치(x) 작거나 같으면(점점 커지는 그림)
        print(' '*(x-i),end='')
        print(str(i)*(2*i-1))
    else:                               # i가 중간 위치(x) 크면(점점 작아지는 그림)
        print(' '*(i-x), end='')
        print(str(i)*((2*x-i)*2-1))
728x90
반응형