본문 바로가기
카테고리 없음

조건문과 반복문 (if, for, while) 실습 코드

by BOOST YOUR INFORMATION 2026. 7. 15.

조건문과 반복문 (if, for, while) 실습 코드
조건문과 반복문 (if, for, while) 실습 코드

 

조건문과 반복문은 프로그램의 흐름을 제어하는 핵심 문법입니다. 파이썬은 if로 조건 분기를, forwhile로 반복을 처리하며, 다른 언어와 달리 중괄호 없이 들여쓰기만으로 블록을 구분합니다.

이 두 문법은 프로그래밍 학습에서 사실상 첫 관문에 해당합니다. 변수와 자료형이 "데이터를 다루는 법"이라면, 조건문과 반복문은 "데이터를 어떤 순서와 조건으로 처리할지 결정하는 법"입니다. 실제로 대부분의 자동화 스크립트, 데이터 처리 코드는 조건 분기와 반복의 조합만으로도 상당 부분을 작성할 수 있습니다.

기능/스펙

조건문(if-elif-else)

score = 85
if score >= 90:
    print("A등급")
elif score >= 80:
    print("B등급")
else:
    print("C등급 이하")

for 반복문: 리스트, 문자열, range 등 순회 가능한(iterable) 객체를 순서대로 처리합니다.

for i in range(3):
    print(i)  # 0, 1, 2 출력

while 반복문: 조건이 참인 동안 반복합니다.

count = 0
while count < 3:
    print(count)
    count += 1

반복 제어: break(반복 중단), continue(다음 반복으로 넘어감)를 함께 사용할 수 있습니다.

for i in range(5):
    if i == 3:
        break        # i가 3이 되면 반복 종료
    if i == 1:
        continue     # i가 1이면 건너뛰고 다음 반복으로
    print(i)         # 0, 2 출력

또한 파이썬은 for문을 한 줄로 압축하는 리스트 컴프리헨션(list comprehension) 문법도 지원합니다.

squares = [x ** 2 for x in range(5)]
print(squares)  # [0, 1, 4, 9, 16]

장단점

장점 - for ... in은 인덱스 계산 없이 컬렉션을 직관적으로 순회할 수 있음 - range(), enumerate() 등 보조 함수와 결합하면 코드가 간결해짐

단점 - while 반복문에서 종료 조건을 잘못 설정하면 무한 루프에 빠질 위험이 있음(이는 파이썬만의 문제가 아니라 반복문을 지원하는 대부분 언어의 공통적인 특성입니다) - 들여쓰기 오류가 곧 문법 오류로 이어지므로, 특히 중첩된 조건문/반복문에서 실수하기 쉬움 - 리스트 컴프리헨션은 간결하지만, 조건이나 중첩이 많아지면 오히려 일반 for문보다 읽기 어려워질 수 있음

비판적 시각

파이썬에는 다른 언어(C, Java 등)에 있는 switch-case 문이 전통적으로 없었고, 대신 if-elif-else 체인이나 딕셔너리 매핑으로 대체해왔다는 점이 자주 언급되는 한계였습니다. 다만 Python 공식 문서에 따르면 Python 3.10부터 구조적 패턴 매칭 문법인 match-case가 PEP 634로 도입되어, 이러한 제약이 부분적으로 해소되었습니다. match-case가 전통적인 switch와 완전히 동일한 의미론을 갖는 것은 아니며(패턴 매칭에 더 가까움), 이 차이를 정확히 이해하지 않고 사용하면 혼란을 줄 수 있다는 지적도 있습니다.

추천 대상

  • 프로그래밍을 처음 배우는 입문자 (조건/반복은 알고리즘 사고의 출발점)
  • 반복 작업 자동화, 데이터 처리 로직을 작성하려는 실무자
  • 알고리즘 문제 풀이나 코딩 테스트를 준비하며 제어 흐름을 연습하려는 학습자

FAQ

Q1. 파이썬에도 switch문이 있나요? 전통적인 switch문은 없지만, Python 3.10부터 PEP 634에 따라 match-case 구조적 패턴 매칭 문법이 도입되었습니다.

Q2. for문과 while문 중 언제 무엇을 써야 하나요? 반복 횟수나 순회 대상이 명확할 때는 for, 조건이 충족되는 동안 반복 횟수를 미리 알 수 없을 때는 while을 사용하는 것이 일반적입니다.

Q3. 무한 루프에 빠지면 어떻게 하나요? while 조건이 항상 참이 되지 않도록 종료 조건(예: 카운터 증가, break문)을 반드시 포함해야 합니다.

Q4. 리스트 컴프리헨션은 꼭 써야 하나요? 필수는 아닙니다. 일반 for문으로도 동일한 결과를 만들 수 있으며, 리스트 컴프리헨션은 코드를 더 간결하게 표현하고 싶을 때 선택적으로 사용하는 문법입니다.

Q5. break와 continue를 함께 사용할 수 있나요? 네, 가능합니다. 하나의 반복문 안에서 조건에 따라 break로 반복을 종료하거나 continue로 특정 반복만 건너뛰도록 함께 사용할 수 있습니다.

출처

  • Python 공식 문서, "The Python Tutorial – 4. More Control Flow Tools" (docs.python.org)
  • Python Software Foundation, PEP 634 – Structural Pattern Matching

소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 ⚡ 정보 부스터 🚀