본문으로 건너뛰기
실습하기

조건이 참일 때까지 반복하는 while문

while 문은 주어진 조건이 참(True)인 동안 계속해서 반복되는 구문입니다.

조건이 거짓(False)이 되면 반복이 종료됩니다.

이러한 특징으로 인해 while 문은 특정 조건이 만족될 때까지 반복되는 작업(예: 사용자 입력 받기)에 유용하게 활용됩니다.


while 문의 기본 구조

while 문은 콜론(:) 다음에 오는 코드 블록을 조건이 참일 때까지 반복해서 실행합니다.

while 문의 기본 구조
while 조건:
실행할 코드

조건이 참일 때까지 무한히 코드가 반복되기 때문에, 반드시 조건이 거짓이 되도록 하는 코드가 포함되어야 합니다.


예시: 1부터 5까지 숫자 출력하기

1부터 5까지의 숫자 출력
i = 1

# i가 5보다 작거나 같을 때까지 반복
while i <= 5:
print(i)
# i를 1씩 증가시킴
i += 1

이 코드는 i가 5보다 작거나 같은 동안 print(i)를 실행하고, 이후 i를 1씩 증가시킵니다.

i <= 5 조건이 더 이상 참이 아니게 되면(즉, i가 6이 되면) 반복이 종료됩니다.


무한 루프란 무엇일까요?

무한 루프(Infinite Loop)란, 조건이 항상 참이 되어 반복문이 끝나지 않고 계속해서 실행되는 상황을 말합니다.

무한 루프는 프로그램을 멈추게 하거나, 시스템 자원을 과도하게 사용해 프로그램에 버그를 발생시킬 수 있습니다.

따라서 무한 루프가 발생하지 않도록 조건을 명확히 설정하는 것이 중요합니다.


무한 루프 예시

무한 루프의 예
i = 1

while i <= 5:
print(i)
# i가 증가하지 않기 때문에 조건이 항상 참이 되어 무한 루프에 빠짐

위 코드에서는 i가 증가하지 않으므로 i <= 5 조건이 항상 참이 되어 무한 루프가 발생합니다.


무한 루프 방지 방법

무한 루프를 방지하기 위해서는 반복문 내에서 조건을 변화시키는 코드가 반드시 포함되어야 합니다.

예를 들어, i 값을 증가시키거나 조건이 참이 되지 않도록 논리적인 흐름을 만들어야 합니다.

무한 루프 방지 예시
i = 1

# i가 20보다 크면 반복 종료
while i < 20:
print(i)
# i를 1씩 증가시킴
i += 1

while 문은 어떤 상황에 활용하나요?

while 문은 아래와 같이 특정 조건이 만족될 때까지 반복 작업을 수행할 때 유용하게 활용됩니다.


활용 예시: 원하는 입력을 받을 때까지 반복하기

아래와 같이 프로그램을 종료할 때까지 사용자로부터 입력을 받는 상황에 while 문을 활용할 수 있습니다.

사용자가 q를 입력할 때까지 반복
user_input = ""

# 사용자가 'q'를 입력할 때까지 반복
while user_input != "q":
user_input = input("종료하려면 'q'를 입력하세요: ")

이 코드는 사용자가 'q'를 입력할 때까지 계속해서 input을 통해 입력을 받습니다.

user_input이 q가 되면 반복이 종료되고, 입력을 받는 작업이 종료됩니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!