파이썬에서는 중첩 for 루프를 활용하면 다양한 형태의 숫자 삼각형 패턴을 손쉽게 만들 수 있습니다. 이 글에서는 가장 기본적인 세 가지 방식, 즉 각 줄마다 처음부터 다시 세는 패턴, 연속된 숫자를 출력하는 패턴, 그리고 역순으로 출력하는 패턴을 살펴보겠습니다.
1. 기본 숫자 삼각형
가장 단순한 형태는 바깥 루프가 행(row)을 담당하고, 안쪽 루프가 해당 행의 열(column)을 담당하는 구조입니다. end="" 옵션을 사용하면 print가 자동으로 줄바꿈하지 않도록 할 수 있습니다.
for i in range(5):
for j in range(i + 1):
print(j + 1, end="")
print("")
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
1 12 123 1234 12345
2. 연속된 숫자로 채운 삼각형
숫자가 매 행마다 1부터 다시 시작하는 대신, 전체적으로 이어지길 원한다면 별도의 변수를 사용해 값을 하나씩 증가시키면 됩니다. 아래 예제에서는 start 변수가 1부터 시작해 출력할 때마다 1씩 늘어납니다.
start = 1
for i in range(5):
for j in range(i + 1):
print(start, end=" ")
start += 1
print("")
실행 결과는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
3. 역순으로 출력하는 삼각형
같은 원리로 시작 값을 큰 수로 설정하고 감소시키면 역순 삼각형도 만들 수 있습니다. 아래 코드는 15부터 시작해 출력할 때마다 1씩 줄여 나갑니다.
start = 15
for i in range(5):
for j in range(i + 1):
print(start, end=" ")
start -= 1
print("")
실행 결과는 다음과 같습니다.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
마무리
핵심은 바깥 루프로 행의 개수를 제어하고, 안쪽 루프로 각 행에 들어갈 숫자의 개수를 조절하는 것입니다. range() 범위와 증감 변수만 바꾸면 피라미드 모양, 다이아몬드 모양 등 더 복잡한 패턴으로도 확장할 수 있으니 여러 가지로 응용해 보세요.