while 반복문은 「조건이 참인 동안 계속 반복」하는 구조입니다.
「while 조건: 코드」 형식이며, for가 「몇 번」을 정해 두고 반복하는 데 비해 while은 「언제까지」를 조건으로 정합니다.
기본 사용법은 다음과 같습니다.
count = 0.
while count < 5: print(count); count += 1.
변수 count가 5 미만인 동안 출력하고 1씩 증가.
5에 도달하면 조건이 거짓이 되어 멈춥니다.
count += 1을 잊으면 무한 루프에 빠지므로 주의가 필요합니다.
사용 시점이 다릅니다.
「리스트의 모든 요소」를 처리할 때는 for, 「특정 조건이 만족될 때까지」 처리할 때는 while이 자연스럽습니다.
사용자 입력을 받을 때, 파일 끝까지 읽을 때, 게임의 게임 루프 같은 상황이 while의 자연스러운 자리입니다.
「break」은 반복문을 즉시 빠져나오게 합니다.
무한 루프에서 특정 조건을 만나면 빠져나오는 데 자주 씁니다.
while True: data = input(); if data == "quit": break.
사용자가 quit을 입력하면 즉시 반복 종료.
「continue」는 「현재 반복은 건너뛰고 다음으로」 넘어가게 합니다.
for n in range(10): if n % 2 == 0: continue; print(n).
짝수는 건너뛰고 홀수만 출력하는 식입니다.
break과 continue는 반복문의 흐름을 더 정교하게 통제하는 두 도구입니다.
한 줄 요약
while은 「조건이 참인 동안」 반복하는 구조로, 「언제까지」가 중요한 상황에 씁니다.
break은 반복 즉시 종료, continue는 현재 반복을 건너뛰고 다음으로 넘어갑니다.
더 알아볼 것
- 무한 루프와 KeyboardInterrupt
- do-while 같은 패턴은 파이썬에 없다
- while-else 절