Python의 반복문 제어: break, continue, pass 문详解

Python 제어 흐름 문

프로그래밍에서 반복문의 실행을 유연하게 제어하는 것은 중요한 기술입니다. Python은 break, continue, pass라는 세 가지 핵심 문을 제공하여 반복문의 동작을 세밀하게 조절할 수 있게 합니다. 이 문서에서는 각 문장의 기능과 활용 방법을 살펴보겠습니다.

1. break 문

break 문은 반복문을 즉시 종료하고 반복문 다음에 있는 코드로 이동합니다. 특정 조건이 만족되면 더 이상 반복을 진행하지 않아야 할 때 유용하게 사용됩니다.

구문

for 항목 in 시퀀스:
    if 조건:
        break
    # 처리 로직

# 반복문 종료 후 실행되는 코드

예제

학생 점수 목록에서 90점 이상인 첫 번째 점수를 찾는 상황을 살펴보겠습니다.

scores = [75, 82, 91, 65, 88, 95, 70]

for idx, score in enumerate(scores):
    if score >= 90:
        print(f"90점 이상 달성: 인덱스 {idx}, 점수 {score}")
        break
else:
    print("90점 이상인 점수가 없습니다.")

실행 결과:

90점 이상 달성: 인덱스 2, 점수 91

이 코드에서 for-else 구조는 반복문이 완전히 완료되었을 때 실행되며, break로 인해 반복문이 조기 종료되면 else 블록은 실행되지 않습니다.

2. continue 문

continue 문은 현재 반복의 나머지 코드를 건너뛰고 다음 반복으로 바로 이동합니다. 특정 조건을 만족하는 항목만 처리하거나 특정 항목을 제외하고 싶을 때 사용합니다.

구문

while 조건:
    if 필터_조건:
        continue
    # 처리 로직

예제

1부터 15까지의 숫자 중에서 3의 배수만 제외하고 출력하는 프로그램을 작성해 보겠습니다.

for num in range(1, 16):
    if num % 3 == 0:
        continue
    print(num, end=" ")

실행 결과:

1 2 4 5 7 8 10 11 13 14

3의 배수는 continue에 의해 건너뛰어지고, 나머지 숫자들이 출력됩니다.

3. pass 문

pass 문은 아무 것도 수행하지 않는 빈 문입니다. 문법적으로 문장이 필요하지만 아무런 동작도 하지 않아야 할 때 사용됩니다. 주로 함수나 클래스의 임시 구현, 조건문 블록의 자리 표시자로 활용됩니다.

예제

아직 구현하지 않을 함수를 정의해야 하는 상황을 가정해 보겠습니다.

def calculate_statistics(data):
    """통계 계산 함수 - 추후 구현 예정"""
    pass

class DataProcessor:
    """데이터 처리기 클래스"""
    pass

if user_role == "admin":
    pass  # 관리자 권한 처리 로직은 추후 구현
else:
    print("일반 사용자입니다.")

pass 문이 없으면 위 코드는 들여쓰기 오류나 문법 오류를 발생시킬 것입니다.

4. 응용 예제: 숫자 추측 게임

세 가지 제어 문을 조합하여 간단한 숫자 추측 게임을 만들어 보겠습니다.

import random

secret = random.randint(1, 20)
max_attempts = 5

print("1부터 20 사이의 숫자를 맞춰보세요!")

for attempt in range(1, max_attempts + 1):
    guess = int(input(f"{attempt}번째 시도: "))
    
    if guess < 1 or guess > 20:
        print("1에서 20 사이의 숫자만 입력해주세요.")
        continue
    
    if guess == secret:
        print(f"정답입니다! {attempt}번 만에 맞추셨네요!")
        break
    elif guess < secret:
        print("더 큰 숫자입니다.")
    else:
        print("더 작은 숫자입니다.")
else:
    print(f"게임 종료. 정답은 {secret}이었습니다.")

이 예제에서 continue는 유효하지 않은 입력을 건너뛰고, break는 정답을 맞추면 반복문을 종료하며, for-else 구조는 모든 기회를 소진했을 때 실행됩니다.

요약

문장 기능 사용 시점
break 반복문 완전 종료 원하는 결과를 찾았을 때
continue 현재 반복 건너뛰기 특정 조건 무시할 때
pass 빈 문 실행 문법상 필요한 자리채움

이 세 가지 제어 문을 잘 활용하면 반복문의 흐름을 세밀하게 제어할 수 있으며, 더 효율적이고 가독성 높은 코드를 작성할 수 있습니다.

태그: python break-statement continue-statement pass-statement control-flow

7월 14일 02:44에 게시됨