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

파이썬으로 다양한 패턴 출력하기 – 별·숫자·알파벳 패턴 예제 총정리

파이썬에서는 중첩 for 루프(nested for loop)를 사용해 다양한 패턴을 출력할 수 있습니다. 바깥쪽 루프는 행(row)의 개수를 결정하고, 안쪽 루프는 각 행에 출력될 열(column)의 개수를 처리합니다. 여기에 print() 함수의 end 옵션 등을 상황에 맞게 수정하면 원하는 모양의 패턴을 자유롭게 만들 수 있습니다.

출력할 수 있는 패턴에는 별(*) 패턴, 숫자 패턴, 알파벳 패턴 등이 있으며, 삼각형, 피라미드 등 다양한 형태로 응용할 수 있습니다.

모든 패턴의 출력 원리는 기본적으로 동일하고, 루프 범위와 print 문만 조금씩 다르게 작성하면 됩니다. 지금부터 대표적인 패턴 몇 가지를 코드로 직접 구현해 보겠습니다.

삼각형 패턴 출력하기

예제 코드

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

print('행 수를 입력하세요')
r = int(input())
triangle(r)

실행 결과

행 수를 입력하세요
5
*
* *
* * *
* * * *
* * * * *

바깥 루프가 행을 담당하고, 첫 번째 안쪽 루프는 앞쪽 공백을, 두 번째 안쪽 루프는 별을 출력합니다. 행이 내려갈수록 공백은 하나씩 줄고 별은 하나씩 늘어나면서 좌측 정렬된 직각삼각형이 완성됩니다. 위 코드를 다른 행 수로 실행하면 원하는 크기의 삼각형을 얻을 수 있습니다.

숫자 패턴 출력하기

예제 코드

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

print('행 수를 입력하세요')
r = int(input())
num_pattern(r)

실행 결과

행 수를 입력하세요
5
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

변수 num이 1부터 시작해 출력할 때마다 1씩 증가하기 때문에, 1부터 15까지의 자연수가 삼각형 형태로 순서대로 배치됩니다.

알파벳 패턴 출력하기

예제 코드

def alpha_pattern(n):
    st = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
    for i in range(1, n + 1):
        for j in range(i):
            print(st[j], end=' ')
        print()

print('행 수를 입력하세요')
r = int(input())
alpha_pattern(r)

실행 결과

행 수를 입력하세요
5
A
A B
A B C
A B C D
A B C D E

A부터 Z까지 저장된 문자열에서 인덱스 위치의 문자를 하나씩 가져와 출력합니다. 각 행은 항상 A로 시작하며, 행 번호만큼 알파벳이 순서대로 나열됩니다.

피라미드(180도 회전) 패턴 출력하기

예제 코드

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

print('행 수를 입력하세요')
r = int(input())
pyramid(r)

실행 결과

행 수를 입력하세요
5
    *
   * *
  * * *
 * * * *
* * * *

별을 출력하기 전에 공백을 먼저 찍기 때문에 별들이 오른쪽으로 밀려나며, 오른쪽 아래가 직각인 계단식(우측 정렬) 피라미드 모양이 만들어집니다.

위의 코드들을 IDE에서 직접 실행해 보면 공백을 포함한 정확한 패턴 모양을 확인할 수 있습니다. 루프 범위와 출력 문자를 조금씩 바꾸면 다이아몬드, 모래시계 등 더 다양한 패턴도 쉽게 응용할 수 있으니 여러 가지로 변형해 보세요.