파이썬 프로그램의 흐름제어 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단계: 조건식 평가
- 2단계: 조건이 True이면 코드 블록 실행
- 3단계: 다시 조건식으로 되돌아가 평가 반복
- 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
로 강제로 종료하지 않는 이상, 끝없이 반복됩니다.
만약 이 안에 break
나 exit 조건
이 없다면... 멈추지 않아요 😨
🛡️ 무한 루프는 언제 쓰일까?
상황 | 설명 |
---|---|
사용자 입력 반복 | 사용자가 특정 명령을 내릴 때까지 계속 대기 |
게임 루프 | 게임이 종료되지 않는 한 계속 동작해야 할 때 |
자동화 로봇 동작 | 센서 데이터 지속 감시 |
⚠️ 주의사항: 의도치 않은 무한 루프
의도적으로 쓰는 무한 루프는 괜찮지만, 조건을 잘못 설정하거나 변수 증가를 빼먹으면 실수로 빠질 수도 있어요!
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 문은 알고 보면 아주 강력한 도구랍니다.
특히 break
와 continue
를 잘 조합하면 정말 다양한 상황에서 원하는 흐름을 만들 수 있어요 😎
while 문을 정확히 이해하고 자유자재로 활용할 수 있다면, 파이썬의 흐름 제어는 거의 마스터한 거나 다름없어요.
다양한 실습을 통해 익숙해지다 보면 어느새 자연스럽게 while 문을 활용하고 있는 자신을 발견할 수 있을 거예요 💻✨
'Python' 카테고리의 다른 글
파이썬 사용자 정의 함수 완전 정복 (3) | 2025.04.11 |
---|---|
파이썬 프로그램의 흐름제어 - for 문 완전 정복 (1) | 2025.04.11 |
파이썬 pip와 외부 모듈 활용 완벽 가이드 (1) | 2025.04.10 |
파이썬 프로그램의 흐름제어 - if 문 완벽 이해하기 (0) | 2025.04.10 |
파이썬 시퀀스 자료형 - 집합(set) 완벽 가이드 (0) | 2025.04.10 |