목록으로

프로그래밍 · Python

Python 입문 연재 7: while 반복문으로 조건이 맞을 때까지 실행하기

BeanCon
Python 입문자가 while 반복문과 사용자 입력 반복 구조를 학습하는 과정을 표현한 대표 이미지

Python 입문 연재 7편입니다. while 반복문의 개념과 기본 구조, for 문과의 차이, 무한 반복, break와 continue, 사용자 입력 반복, 로그인 프로그램, 숫자 맞추기 게임, 카운트다운, 메뉴 선택 프로그램, 실무 활용과 자주 하는 실수를 정리했습니다.

1. while 반복문이란?

지난 시간에는 for 반복문을 이용하여 정해진 횟수만큼 반복 작업을 수행하는 방법을 배웠습니다.

하지만 실제 프로그램을 개발하다 보면 반복 횟수를 미리 알 수 없는 경우가 훨씬 많습니다.

while 문이 필요한 상황
  • 사용자가 올바른 비밀번호를 입력할 때까지 계속 물어보기
  • 게임이 종료될 때까지 계속 실행하기
  • 서버가 중지될 때까지 요청 처리하기
  • 파일 다운로드가 완료될 때까지 대기하기

이러한 상황에서는 while 반복문을 사용합니다. while 문은 특정 조건이 참(True)인 동안 계속 반복 실행되는 강력한 반복문입니다.

while 문의 의미

조건이 만족되는 동안 계속 반복해라라는 뜻입니다.

2. while 문 기본 구조

while 문은 지정한 조건이 참인 동안 코드를 계속 반복 실행하는 문법입니다.

while 조건식:
    실행할 코드

예제입니다.

count = 1

while count <= 5:
    print(count)
    count += 1

실행 결과입니다.

1
2
3
4
5

count <= 5가 True인 동안 반복됩니다.

count <= 5

3. while 문 동작 원리

위 코드를 단계별로 살펴보겠습니다.

단계조건동작
초기값count = 1반복을 시작하기 전 기준값을 준비합니다.
첫 번째 반복1 <= 5True이므로 print(1)을 실행하고 count는 2가 됩니다.
두 번째 반복2 <= 5True이므로 print(2)를 실행하고 count는 3이 됩니다.
다섯 번째 반복 후count = 6다음 조건 검사에서 6 <= 5가 False가 됩니다.
종료False반복문이 종료됩니다.
count = 1

1 <= 5
print(1)
count = 2

2 <= 5
print(2)
count = 3

count = 6
6 <= 5
False
반복문 종료

4. for 문과 while 문의 차이

구분사용 상황예시
for 문반복 횟수를 알고 있을 때 사용합니다.for i in range(5):
while 문언제 종료될지 모를 때 사용합니다.while password != "python123":

for 문

for i in range(5):
    print(i)

while 문

password = ""

while password != "python123":
    password = input("비밀번호 입력: ")

실제 프로그램에서는 while 문 사용 빈도가 매우 높습니다.

5. 무한 반복 Infinite Loop와 break

while 문을 사용할 때 가장 주의해야 하는 부분이 무한 반복입니다.

while True:
    print("계속 실행 중")

실행 결과입니다.

계속 실행 중
계속 실행 중
계속 실행 중
...

영원히 반복되는 구조를 무한 반복이라고 부릅니다.

break 사용하기

무한 반복은 보통 break와 함께 사용합니다.

while True:

    command = input("종료하려면 exit 입력: ")

    if command == "exit":
        break

입력 예시입니다.

hello
test
exit

exit를 입력하면 반복문이 종료됩니다.

6. continue 사용하기

continue는 현재 반복을 건너뛰고 다음 반복으로 이동합니다.

num = 0

while num < 5:

    num += 1

    if num == 3:
        continue

    print(num)

결과입니다.

1
2
4
5

3은 출력되지 않습니다.

7. 사용자 입력 반복하기

사용자가 올바른 값을 입력할 때까지 반복하는 구조입니다.

answer = ""

while answer != "python":
    answer = input("Python을 입력하세요: ")

print("정답입니다.")

입력 예시입니다.

java
javascript
python

결과입니다.

정답입니다.

로그인 프로그램 만들기

password = ""

while password != "1234":
    password = input("비밀번호 입력: ")

print("로그인 성공")

입력 예시입니다.

1111
2222
1234

결과입니다.

로그인 성공

실제 로그인 시스템의 가장 기본적인 형태입니다.

8. while 실습 예제

숫자 맞추기 게임

secret = 7
guess = 0

while guess != secret:

    guess = int(input("숫자를 입력하세요: "))

    if guess < secret:
        print("더 큰 숫자입니다.")

    elif guess > secret:
        print("더 작은 숫자입니다.")

print("정답!")

입력 예시입니다.

3
10
7

결과입니다.

더 큰 숫자입니다.
더 작은 숫자입니다.
정답!

카운트다운 프로그램

count = 10

while count > 0:
    print(count)
    count -= 1

print("발사!")

결과입니다.

10
9
8
...
1
발사!

메뉴 선택 프로그램 만들기

실무에서 매우 자주 사용하는 패턴입니다.

while True:

    print("\n===== 메뉴 =====")
    print("1. 회원조회")
    print("2. 회원등록")
    print("3. 종료")

    choice = input("선택: ")

    if choice == "1":
        print("회원조회 실행")

    elif choice == "2":
        print("회원등록 실행")

    elif choice == "3":
        print("프로그램 종료")
        break

    else:
        print("잘못된 입력입니다.")

이 구조는 POS 시스템, 웹 관리도구, 콘솔 프로그램 등에 널리 사용됩니다.

while와 리스트 함께 사용하기

fruits = ["사과", "바나나", "포도"]

index = 0

while index < len(fruits):

    print(fruits[index])

    index += 1

결과입니다.

사과
바나나
포도

9. while True 패턴

실무에서 가장 많이 사용하는 while 형태입니다.

while True:
    작업 수행

    if 종료조건:
        break

예제입니다.

while True:

    msg = input("입력: ")

    if msg == "quit":
        break

    print("입력값:", msg)

입력 예시입니다.

hello
python
quit

결과입니다.

입력값: hello
입력값: python

10. 실무 활용 사례

서버 프로그램

서버는 종료될 때까지 요청을 계속 처리합니다.

센서 데이터 수집

IoT 장비에서 센서 데이터를 계속 읽는 구조에 사용됩니다.

로그 모니터링

보안 관제 시스템에서 로그를 지속적으로 읽고 분석할 때 활용됩니다.

게임 엔진

게임이 종료될 때까지 update와 render를 반복합니다.

서버 프로그램

while True:
    request = receive_request()
    process_request(request)

센서 데이터 수집

while True:
    data = sensor.read()

로그 모니터링

while True:
    log = read_log()

게임 엔진

while game_running:
    update()
    render()

11. 자주 하는 실수와 실습 문제

초보자가 자주 하는 실수

증가값 누락

count += 1 같은 변화 코드가 없으면 조건이 계속 True로 남아 무한 반복이 발생할 수 있습니다.

종료 조건 작성 실수

조건을 잘못 작성하면 반복문이 끝나지 않을 수 있습니다.

break 남용

break를 너무 많이 사용하면 코드 가독성이 떨어집니다. 가능하면 명확한 조건식을 사용하는 것이 좋습니다.

증가값이 누락된 잘못된 코드입니다.

count = 1

while count <= 5:
    print(count)

결과는 무한 반복입니다.

올바른 코드입니다.

count = 1

while count <= 5:
    print(count)
    count += 1

종료 조건 작성 실수 예시입니다.

while count >= 0:

실습 문제

문제 1

while 문을 사용해 1부터 20까지 출력합니다.

문제 2

1부터 100까지 합계를 구합니다. 결과는 5050입니다.

문제 3

비밀번호가 python123일 때까지 반복 입력받습니다.

문제 4

5부터 1까지 카운트다운을 출력합니다.

문제 5

사용자가 exit를 입력할 때까지 계속 입력받고 출력합니다.

문제 2 결과입니다.

5050

문제 5 예시입니다.

입력: hello
출력: hello

입력: python
출력: python

입력: exit
프로그램 종료

12. 핵심 정리와 다음 편 예고

이번 시간에는 Python의 while 반복문을 배웠습니다.

핵심 정리
  • while은 조건이 참인 동안 반복합니다.
  • 반복 횟수를 모를 때 사용합니다.
  • 무한 반복은 while True로 구현합니다.
  • break는 반복을 종료합니다.
  • continue는 현재 반복을 건너뜁니다.
  • 로그인, 서버, 게임, 보안 시스템 등 실무에서 매우 많이 사용됩니다.

특히 while 문은 사용자 입력 처리와 서버 프로그램의 핵심 구조를 이해하는 데 반드시 필요한 문법입니다.

for 문과 while 문을 모두 자유롭게 사용할 수 있다면 Python 프로그래밍의 기초를 상당 부분 익힌 것입니다.

Python 입문 연재 8 예고
  • 함수란 무엇인가?
  • def 문법 이해하기
  • 매개변수 Parameter
  • 반환값 Return
  • 함수와 변수의 관계
  • 실무 함수 설계 방법
  • 계산기 함수 만들기 프로젝트

댓글

0

댓글을 불러오는 중입니다.