Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)으로 다이아몬드 모양 출력하기 – 반복문 활용 프로그램

파이썬의 반복문 기능을 활용하면 키보드의 다양한 문자를 조합해 보기 좋게 정렬된 도형을 손쉽게 만들 수 있습니다. 그중 하나가 바로 다이아몬드(마름모) 모양입니다.

다이아몬드 모양을 출력하려면 문자를 세로 방향과 가로 방향 모두로 배치해야 하기 때문에 여러 개의 반복문이 필요합니다. 또한 위쪽에서부터 중간까지는 모양이 점점 커지고, 중간부터 아래쪽까지는 점점 작아져야 하므로 이러한 증감 패턴도 함께 고려해야 합니다.

다이아몬드 모양의 구현 원리

이 문제를 해결하기 위해 각각 내부에 반복문을 하나 더 포함하는 두 개의 for 루프를 사용합니다.

  • 상단 부분: 첫 번째 for 루프가 행(row)을 제어하고, 내부 루프는 앞쪽 공백과 '@' 문자의 개수를 조절하여 위에서부터 중간까지 폭이 점점 넓어지도록 합니다.
  • 하단 부분: 두 번째 for 루프가 행을 제어하고, 내부 루프는 공백을 점점 늘리고 '@' 문자를 점점 줄여서 중간부터 아래까지 폭이 좁아지도록 합니다.

파이썬 코드 예제

다음은 다이아몬드 모양을 생성하는 전체 코드입니다.

def Shape_of_Diamond(shape):
    a = 0

    # 상단 부분 (위에서 중간까지 점점 확장)
    for m in range(1, shape + 1):
        for n in range(1, (shape - m) + 1):
            print(end=" ")
        while a != (2 * m - 1):
            print("@", end="")
            a = a + 1
        a = 0
        print()

    s = 1
    c = 1

    # 하단 부분 (중간에서 아래까지 점점 축소)
    for m in range(1, shape):
        for n in range(1, s + 1):
            print(end=" ")
        s = s + 1
        while c <= (2 * (shape - m) - 1):
            print("@", end="")
            c = c + 1
        c = 1
        print()

shape = 8
Shape_of_Diamond(shape)

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

        @
       @@@
      @@@@@
     @@@@@@@
    @@@@@@@@@
   @@@@@@@@@@@
  @@@@@@@@@@@@@
 @@@@@@@@@@@@@@@
  @@@@@@@@@@@@@
   @@@@@@@@@@@
    @@@@@@@@@
     @@@@@@@
      @@@@@
       @@@
        @

코드 동작 설명

변수 shape 값이 8로 설정되어 있으므로, 상단에는 8개의 행이 출력되고 하단에는 7개의 행이 출력되어 총 15줄짜리 대칭형 다이아몬드가 완성됩니다. 상단에서는 행 번호 m이 커질수록 공백이 줄고 '@' 문자가 2 * m - 1개씩 늘어나며, 하단에서는 그 반대로 동작합니다.

이처럼 중첩 반복문만 잘 활용하면 피라미드, 삼각형, 다이아몬드 등 다양한 패턴을 자유롭게 그릴 수 있습니다. shape 값을 변경하면 원하는 크기의 다이아몬드를 출력할 수 있다는 점도 직접 확인해 보시기 바랍니다.