Python

파이썬 프로그램의 흐름제어 while 문

코딩 코디네이터 2025. 4. 10. 20:00
반응형

파이썬 프로그램의 흐름제어 while 문

여러분, 혹시 한 번 실행되고 끝나버리는 코드가 지겹지 않으셨나요?
조건이 맞을 때까지 계속 실행되는 마법 같은 반복,
바로 while 문을 만나보세요!

 

 

안녕하세요. 😊

파이썬을 막 시작한 여러분께 꼭 필요한 내용을 오늘도 가져왔습니다.

프로그래밍을 하다 보면 똑같은 작업을 반복해서 처리해야 할 일이 정말 많습니다.

예를 들어

사용자가 '그만'이라고 말할 때까지 계속 질문을 반복하거나, 특정 조건을 만족할 때까지 값을 계산하는 일들이죠.

이런 상황에서 바로 while 문이 아주 유용하게 사용돼요.

이번 포스팅에서는 초보자도 쉽게 이해할 수 있도록 파이썬의 while 문 기본 구조부터 break, continue, 무한 루프까지 모두 예제를 중심으로 친절하게 설명해드릴게요.

실생활에 꼭 필요한 반복 제어의 기본!

지금 바로 시작합니다 🔄

1. 🌀 while 문이란? 반복문의 기본 개념

파이썬을 배우기 시작하면 가장 먼저 접하게 되는 흐름 제어 방식이 바로 조건문반복문입니다.

그 중에서도 while 문은 어떤 조건이 True일 때까지 계속 반복해서 실행되는 아주 강력한 제어문이에요.

예를 들어

"1부터 10까지 숫자를 출력해줘"라고 프로그램에 명령하고 싶다면, 굳이 같은 코드를 10번 쓰는 게 아니라, 조건을 설정하고 그 조건이 맞는 동안 계속 출력하도록 while 문을 활용할 수 있답니다.

🧠 while 문, 왜 필요할까?

  • 같은 작업을 반복할 때 코드를 간결하게 만들 수 있어요.
  • 반복 횟수가 정해져 있지 않고 조건에 따라 달라질 때 유용해요.
  • 반복 중 특정 조건에 도달하면 빠져나오거나 다시 반복 시작도 가능해요.

💡 언제 while 문을 사용할까?

가장 대표적인 예는 다음과 같아요:

사용 상황 설명
사용자 입력을 계속 받기 특정 키워드를 입력할 때까지 계속 반복
조건이 만족될 때까지 계산 반복 예: 정답을 맞출 때까지 퀴즈 반복
자동화 루틴 데이터 수집, 처리, 저장 등 루프 기반 처리

📌 실제 코드 예제로 이해하기

count = 1
while count <= 5:
    print("현재 숫자:", count)
    count += 1

이 코드를 실행하면 다음과 같이 출력돼요:

현재 숫자: 1  
현재 숫자: 2  
현재 숫자: 3  
현재 숫자: 4  
현재 숫자: 5

조건 count <= 5가 True인 동안에만 반복되고, count가 6이 되는 순간 while 루프가 종료되죠.

간단하면서도 강력한 반복 제어 문법, 바로 while 문입니다 😊

2. 🧱 while 문 기본 구조와 실행 원리

자, 그럼 본격적으로 while 문의 구조를 파헤쳐 볼까요?

파이썬에서 while 문은 아래처럼 구성돼요:

while 조건식:
    반복해서 실행할 문장1
    반복해서 실행할 문장2
    ...

조건식이 True일 때만 블록 안의 코드가 실행됩니다.

이 조건이 거짓(False)이 되는 순간, 반복은 멈추고 while 문은 종료돼요.

📋 실행 순서 살펴보기

  1. 1단계: 조건식 평가
  2. 2단계: 조건이 True이면 코드 블록 실행
  3. 3단계: 다시 조건식으로 되돌아가 평가 반복
  4. 4단계: 조건이 False이면 루프 종료

이 순서를 계속 반복하며 조건이 False가 되는 순간, 비로소 while 문 바깥으로 빠져나오게 되는 거예요.

📌 예제로 보는 while 문 구조

num = 1
while num <= 3:
    print("num의 값은:", num)
    num += 1

이 코드는 어떻게 실행될까요?

한 줄씩 순서대로 따라가 봅시다.

  • num = 1이므로 조건식 num <= 3은 True → 출력 후 num = 2
  • num = 2 → 조건 만족 → 다시 출력 후 num = 3
  • num = 3 → 조건 만족 → 출력 후 num = 4
  • num = 4 → 조건식 False → 루프 종료!

이처럼 조건이 True인 동안은 계속 반복하다가, 조건이 깨지는 순간 자연스럽게 빠져나오게 됩니다.

이 흐름을 꼭 기억해 주세요!

 

 

3. 🛑 break 문으로 반복 중단하기

반복문은 정말 편리하지만, 무한정 돌아간다면? 😱

때론 우리가 직접 멈추지 않으면 끝없이 반복될 수도 있어요.

그래서 파이썬에서는 break 문을 통해 조건을 만족하지 않더라도 즉시 반복문을 빠져나올 수 있는 방법을 제공하죠.

🧨 break 문은 이런 상황에서 유용해요

  • 무한 루프 안에서 특정 조건을 만나면 빠져나오고 싶을 때
  • 사용자 입력 등으로 유동적인 종료 조건을 만들고 싶을 때
  • 에러 방지용 안전 장치로 반복을 중단할 때

📌 예제: 사용자 입력을 받아 종료하기

while True:
    data = input("종료하려면 'exit' 입력 ▶ ")
    if data == "exit":
        break
    print("입력한 값:", data)

이 코드는 exit을 입력할 때까지 무한히 사용자의 입력을 받아 출력해줍니다.

exit을 입력하면 break 문이 실행되어 반복문이 즉시 종료돼요.

📊 실습 결과 예시

종료하려면 'exit' 입력 ▶ hello
입력한 값: hello
종료하려면 'exit' 입력 ▶ 파이썬 좋아요
입력한 값: 파이썬 좋아요
종료하려면 'exit' 입력 ▶ exit

break 문은 이렇게 조건문과 함께 쓰일 때 더욱 강력한 힘을 발휘합니다.

조건이 만족되면 즉시 탈출!

프로그래밍에서 아주 유용하게 사용되는 패턴이에요 😎

 

 

4. 🔄 continue 문으로 반복 다시 시작하기

이번엔 while 문에서 반복 도중 특정 조건일 때 그 아래 코드를 실행하지 않고 다음 반복으로 건너뛰게 만드는 continue 문을 알아볼게요.

이는 break와 반대로 반복은 유지하되, 현재 루프만 생략하고 싶을 때 사용해요.

↩️ 언제 continue 문을 사용할까?

  • 특정 조건을 제외하고 나머지 작업만 반복하고 싶을 때
  • 실행을 건너뛰고 조건 검사로 바로 돌아가고 싶을 때

📌 예제: 홀수만 출력하기

1부터 10까지 숫자 중 짝수는 건너뛰고, 홀수만 출력해볼게요:

num = 0
while num < 10:
    num += 1
    if num % 2 == 0:
        continue
    print("홀수:", num)

위 코드는 짝수인 경우 continue 문을 만나면서 print를 실행하지 않고 바로 다음 반복으로 넘어가죠.

그 결과, 홀수만 출력돼요.

🖨️ 실행 결과

홀수: 1
홀수: 3
홀수: 5
홀수: 7
홀수: 9

이처럼 continue 문은 현재 루프만 건너뛰고 다음 루프를 계속하게 해주는 똑똑한 도구랍니다.

무조건 실행되면 안 되는 조건이 있다면, continue가 깔끔하게 해결해줘요 👌

 

 

5. ♾️ 무한 루프의 개념과 주의할 점

무한 루프, 이름만 들어도 무한히 반복되는 느낌이죠?

실제로 프로그래밍에서 특정 조건 없이 반복을 무한히 수행해야 할 때 의도적으로 만들기도 하고, 실수로 인해 원하지 않게 발생하기도 해요 😅

♻️ 무한 루프란?

무한 루프는 조건식이 항상 참(True)인 상태로 반복되는 구조예요.

예를 들어

아래 코드처럼 조건을 True로 고정하면, 종료 조건 없이 계속 반복되죠.

while True:
    print("이 코드는 무한히 실행됩니다!")

이 코드는 Ctrl + C로 강제로 종료하지 않는 이상, 끝없이 반복됩니다.

 만약 이 안에 breakexit 조건이 없다면... 멈추지 않아요 😨

🛡️ 무한 루프는 언제 쓰일까?

상황 설명
사용자 입력 반복 사용자가 특정 명령을 내릴 때까지 계속 대기
게임 루프 게임이 종료되지 않는 한 계속 동작해야 할 때
자동화 로봇 동작 센서 데이터 지속 감시

⚠️ 주의사항: 의도치 않은 무한 루프

의도적으로 쓰는 무한 루프는 괜찮지만, 조건을 잘못 설정하거나 변수 증가를 빼먹으면 실수로 빠질 수도 있어요!

num = 1
while num <= 5:
    print(num)
    # num += 1 ❌ 빠뜨림!

이 코드는 num의 값이 계속 1이기 때문에 조건이 계속 True로 유지되며, 무한 반복이 발생합니다.

조건 변화 요소를 확인하세요!

 

💡 팁: 테스트 중 무한 루프에 빠졌다면 터미널에서 Ctrl + C를 눌러 강제 종료할 수 있어요!

 

 

6. ✍️ 실습 예제: 조건에 따라 반복하는 프로그램 만들기

지금까지 while 문의 개념과 사용법을 배웠다면, 이제는 직접 써보는 시간입니다!

아래 예제를 통해 실제로 어떤 상황에서 활용될 수 있는지 연습해볼게요.

아주 기본적인 프로그램이지만, 핵심은 조건 반복 + break 조합이에요 💪

🧪 예제 1: 숫자 맞히기 게임

컴퓨터가 7이라는 숫자를 정해놓고, 사용자가 맞힐 때까지 계속 입력을 받는 프로그램을 만들어볼게요.

입력값이 7일 때 정답 메시지를 출력하고 종료됩니다.

while True:
    guess = int(input("숫자를 맞혀보세요 ▶ "))
    if guess == 7:
        print("정답입니다! 🎉")
        break
    else:
        print("틀렸어요. 다시 시도해보세요!")

사용자가 정답을 맞힐 때까지 계속 반복되며, 정답을 입력하면 break 문으로 루프를 탈출하게 됩니다.

📖 예제 2: 특정 조건에만 출력

1부터 10까지 반복하면서 짝수만 출력하는 프로그램을 만들어보겠습니다.

이럴 땐 continue 문이 아주 효과적이에요.

num = 0
while num < 10:
    num += 1
    if num % 2 != 0:
        continue
    print("짝수:", num)

✅ while 문 연습 포인트 정리

  • 조건문을 꼭 True/False로 설정하기
  • 루프를 종료할 수 있는 exit 조건 확인하기
  • break, continue 사용 시 흐름 잘 파악하기

이제 while 문에 대한 핵심 기능과 실제 사용 방법을 잘 이해하셨죠?

실제 프로젝트나 미니 프로그램을 만들 때 조건 반복을 제어할 수 있어야 더 탄탄한 코드를 만들 수 있습니다 😊

지금까지 파이썬의 while 문을 처음부터 끝까지 함께 알아봤어요.

처음엔 단순해 보이지만, 조건에 따라 반복을 제어하는 while 문은 알고 보면 아주 강력한 도구랍니다.

특히 breakcontinue를 잘 조합하면 정말 다양한 상황에서 원하는 흐름을 만들 수 있어요 😎

while 문을 정확히 이해하고 자유자재로 활용할 수 있다면, 파이썬의 흐름 제어는 거의 마스터한 거나 다름없어요.

다양한 실습을 통해 익숙해지다 보면 어느새 자연스럽게 while 문을 활용하고 있는 자신을 발견할 수 있을 거예요 💻✨

 

반응형