IT프로그래밍/파이썬

Python while문 사용법 : 조건 반복문과 break 예제

MannizDev 2026. 7. 6.

Python while문 사용법 : 조건 반복문과 break 예제

for문은 반복 횟수가 어느 정도 정해져 있을 때 쓰기 좋습니다. 예를 들어 1부터 5까지 출력하거나, 리스트 안의 값을 하나씩 꺼내는 경우에는 for문이 자연스럽습니다.

그런데 실제로 코드를 쓰다 보면 반복 횟수보다 "언제까지 반복할 것인가"가 더 중요한 경우가 있습니다.

예를 들어 사용자가 q를 입력할 때까지 계속 입력을 받거나, 비밀번호가 맞을 때까지 같은 질문을 반복해야 할 때가 그렇습니다. 이런 상황에서는 while문을 쓰면 흐름을 더 자연스럽게 표현할 수 있습니다.

아직 for문이 익숙하지 않다면 먼저 아래 글을 보고 오셔도 좋습니다.

while문을 왜 쓸까

while문은 반복 횟수보다 종료 조건이 더 중요할 때 사용합니다.

예를 들어 1부터 5까지 출력하는 것처럼 반복 횟수가 정해져 있다면 for문이 더 간단합니다. 하지만 사용자가 언제 q를 입력할지, 비밀번호를 몇 번 만에 맞힐지, 어떤 값이 나올 때까지 몇 번 확인해야 할지는 미리 알 수 없습니다.

이럴 때 while문을 사용하면 "이 조건이 만족되는 동안 계속 반복한다"는 흐름을 코드로 표현할 수 있습니다.

비밀번호가 틀리면 다시 입력받기
q를 입력할 때까지 계속 메뉴 보여주기
원하는 값이 나올 때까지 계속 확인하기

while문은 정해진 횟수만큼 반복하는 문법이라기보다, 어떤 상태가 바뀔 때까지 기다리거나 반복해서 확인하는 문법에 가깝습니다.

다만 조건이 계속 참이면 반복이 끝나지 않습니다. 그래서 while문을 쓸 때는 항상 "언젠가 이 조건이 거짓이 되는가?" 또는 break로 빠져나올 조건이 있는가를 같이 확인해야 합니다.

테스트 환경

이 글의 예제는 아래 환경에서 직접 실행해 확인했습니다.

작성 기준: 2026년 7월 6일
운영체제: Windows
로컬 Python: Python 3.9.13
공식 문서 확인: Python 3.14.6 문서의 while statement, break statement

Python 3 계열에서 while문break의 기본 동작은 같은 방식으로 이해하면 됩니다.

while문은 조건이 참일 때 반복한다

while문의 기본 모양은 아래와 같습니다.

while 조건:
    반복할 코드

여기서 중요한 부분은 조건입니다. 조건이 참이면 아래 코드를 실행하고, 다시 조건을 확인합니다. 조건이 계속 참이면 반복도 계속됩니다.

반대로 조건이 거짓이 되는 순간 반복문을 빠져나옵니다.

처음에는 이렇게 이해하면 됩니다.

while 조건:
    조건이 참이면 이 코드를 계속 실행한다

while문으로 1부터 5까지 출력하기

가장 단순한 예제부터 보겠습니다.

count = 1

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

실행 결과입니다.

1
2
3
4
5

처음 count 값은 1입니다. count <= 5 조건이 참이기 때문에 print(count)가 실행됩니다.

그 다음 줄에서 count = count + 1을 실행합니다. 이 줄 때문에 count 값이 1, 2, 3, 4, 5처럼 하나씩 커집니다.

마지막으로 count가 6이 되면 count <= 5 조건이 거짓이 됩니다. 그래서 반복이 끝납니다.

조건을 바꾸지 않으면 반복이 끝나지 않는다

초보자가 while문에서 가장 자주 실수하는 부분은 조건을 바꾸지 않는 것입니다.

아래 코드는 잘못된 예입니다.

count = 1

while count <= 5:
    print(count)

이 코드는 count 값이 계속 1입니다. 조건인 count <= 5도 계속 참입니다.

그래서 프로그램이 끝나지 않고 1을 계속 출력하려고 합니다. 이런 상태를 보통 무한 루프라고 부릅니다.

실습할 때 이런 코드가 실행되면 터미널에서 Ctrl + C로 멈출 수 있습니다. 하지만 처음부터 무한 루프가 생기지 않게 조건을 바꾸는 줄이 있는지 확인하는 편이 좋습니다.

count = count + 1

while문을 쓸 때는 이 질문을 한 번 해보면 실수를 줄일 수 있습니다.

이 반복문은 언젠가 조건이 거짓이 되는가?

while True와 break 사용하기

이번에는 while True를 보겠습니다.

while True:
    반복할 코드

True는 항상 참입니다. 그래서 이 코드만 보면 반복이 끝나지 않습니다.

그럼 왜 while True를 사용할까요?

반복문 안에서 특정 조건이 되었을 때 break로 빠져나오려고 사용할 때가 많습니다.

아래 예제는 사용자가 q를 입력하면 반복을 종료합니다.

while True:
    text = input("계속하려면 아무 글자나 입력하고, 종료하려면 q를 입력하세요: ")

    if text == "q":
        print("반복을 종료합니다.")
        break

    print("입력한 값:", text)

실행 예시입니다.

계속하려면 아무 글자나 입력하고, 종료하려면 q를 입력하세요: hello
입력한 값: hello
계속하려면 아무 글자나 입력하고, 종료하려면 q를 입력하세요: q
반복을 종료합니다.

여기서 break는 반복문을 끝내는 역할을 합니다.

text == "q" 조건이 참이면 반복을 종료합니다.를 출력하고 break를 만납니다. 그러면 더 이상 아래 반복을 진행하지 않고 while문 밖으로 나갑니다.

input() 사용이 아직 헷갈린다면 아래 글을 먼저 보면 흐름이 더 쉽습니다.

비밀번호가 맞을 때까지 반복하기

while문은 어떤 조건이 만족될 때까지 반복할 때도 잘 맞습니다.

아래 예제는 사용자가 python을 입력할 때까지 비밀번호를 계속 물어봅니다.

password = ""

while password != "python":
    password = input("비밀번호를 입력하세요: ")

print("로그인 성공")

실행 예시입니다.

비밀번호를 입력하세요: test
비밀번호를 입력하세요: python
로그인 성공

처음 password는 빈 문자열입니다.

password = ""

조건은 password != "python"입니다. 이 말은 password"python"이 아니면 계속 반복한다는 뜻입니다.

사용자가 test를 입력하면 아직 "python"이 아니기 때문에 다시 반복합니다. 그 다음 python을 입력하면 조건이 거짓이 되고 반복이 끝납니다.

여기서 조건문이 같이 쓰입니다. if, 비교 연산자, 참과 거짓이 아직 익숙하지 않다면 아래 글을 같이 보면 좋습니다.

for문과 while문은 언제 나눠 쓸까

처음에는 for문while문이 비슷해 보일 수 있습니다. 둘 다 반복문이기 때문입니다.

하지만 기준을 이렇게 잡으면 덜 헷갈립니다.

반복 횟수가 정해져 있다 -> for문
조건이 만족될 때까지 반복한다 -> while문

예를 들어 1부터 5까지 출력하는 코드는 for문으로도 쓸 수 있습니다.

for i in range(1, 6):
    print(i)

이 경우에는 반복 횟수가 분명합니다. 그래서 for문이 더 간단합니다.

반대로 사용자가 언제 q를 입력할지 모르는 경우에는 반복 횟수가 미리 정해져 있지 않습니다. 이런 경우에는 while문이 더 자연스럽습니다.

while True:
    text = input("종료하려면 q를 입력하세요: ")

    if text == "q":
        break

자주 하는 실수 정리

while문에서 가장 먼저 확인할 것은 반복이 끝나는 조건입니다.

아래처럼 조건을 바꾸는 코드가 없으면 반복이 끝나지 않을 수 있습니다.

count = 1

while count <= 5:
    print(count)

아래처럼 값을 바꿔야 언젠가 조건이 거짓이 됩니다.

count = 1

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

또 하나는 break의 위치입니다.

if text == "q":
    break

break는 보통 if문과 같이 씁니다. 어떤 조건일 때 반복을 끝낼지 정해야 하기 때문입니다.

정리

while문은 조건이 참인 동안 반복하는 문법입니다.

for문이 정해진 횟수나 리스트 반복에 잘 맞는다면, while문은 사용자가 종료할 때까지 입력을 받거나 특정 조건이 만족될 때까지 반복하는 상황에 잘 맞습니다.

처음 배울 때는 아래 세 가지만 기억하면 충분합니다.

1. while문은 조건이 참이면 계속 반복한다.
2. 반복 중 조건이 언젠가 거짓이 되도록 값을 바꿔야 한다.
3. while True를 쓸 때는 break로 빠져나올 조건을 만든다.

다음 단계에서는 반복해서 쓰는 코드를 def로 묶는 Python 함수 만들기를 보면 좋습니다. 반복문과 함수를 같이 쓰기 시작하면 간단한 프로그램 구조를 훨씬 깔끔하게 만들 수 있습니다.

같이 보면 좋은 글

참고

댓글

💲 추천 글