Menu
CoddyTech

중첩 반복문

Coddy Python 여정의 기초 섹션에 포함된 레슨. 77개 중 41번째.

중첩 루프는 다른 루프 안에 있는 루프입니다. 내부 루프는 외부 루프의 각 반복마다 모든 반복을 완료합니다.

개념을 이해하기 위해 간단한 중첩 루프부터 시작해 봅시다.

rows = 3
cols = 2

# 바깥쪽 반복문
for i in range(rows):
    print(f"Outer loop iteration: {i}")
    
    # 안쪽 반복문
    for j in range(cols):
        print(f"  Inner loop iteration: {j}")

이 코드를 실행하면 다음과 같이 표시됩니다:

Outer loop iteration: 0
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 1
  Inner loop iteration: 0
  Inner loop iteration: 1
Outer loop iteration: 2
  Inner loop iteration: 0
  Inner loop iteration: 1

바깥쪽 루프가 한 번 반복될 때마다 안쪽 루프는 모든 반복을 완료한다는 점에 유의하세요. 각 루프에는 자체 카운터가 있습니다. 바깥쪽 루프가 실행될 때마다 j는 0부터 다시 시작하고, rows와 cols는 그대로 유지되며 루프를 언제 멈출지만 알려줍니다.

이제 간단한 패턴을 출력하는 실용적인 예제를 살펴보겠습니다.

# 별로 이루어진 2x3 직사각형을 출력합니다
for row in range(2):  # 2행
    line = ""
    for col in range(3):  # 3열
        line += "*"
    print(line)

# 출력:
# ***
# ***

바깥쪽 반복문은 출력할 행의 수를 제어하고, 안쪽 반복문은 별표를 추가해 각 행을 만듭니다.

challenge icon

챌린지

쉬움

중첩 루프를 사용하여 별표(*)로 된 직사각형 패턴을 출력하는 코드를 작성하세요.

프로그램은 다음을 수행해야 합니다.

  1. 두 정수 rows와 cols를 읽습니다.
  2. 중첩 루프 구조를 사용하여 패턴을 출력합니다.
  3. 바깥쪽 루프는 각 행을 순회해야 합니다.
  4. 안쪽 루프는 올바른 개수의 별표로 각 행을 만들어야 합니다.
  5. 완성된 각 행을 출력합니다.

예를 들어, 입력이 3행 4열이면 출력은 다음과 같아야 합니다.

****
****
****

각 루프마다 새 카운터를 사용하고(예: 행에는 i, 한 행의 별표에는 j), 이를 rows 또는 cols와 비교하세요. rows와 cols 자체는 변경하지 마세요. 각 행마다 cols가 다시 필요합니다.

직접 해보기

# 행과 열의 입력값을 받으세요
rows = int(input())
cols = int(input())

# 여기에 중첩 반복문을 작성하세요
# 행을 위한 바깥쪽 반복문
# 열을 위한 안쪽 반복문
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨

직접 연습해 보세요: 온라인 Python 컴파일러