더북(TheBook)

while 반복문 본질적으로 반복되는 성질을 가진 계산 작업이 많다. 이런 반복 연산을 처리하기 위해 파이썬은 다음과 같은 구성자를 제공한다.

while <불형 표현식>:
    <문장 1> 
    <문장 2>
    ...

▲ 그림 1.3.3 순서도 예(while 반복문)

 

while 반복문은 if 조건문과 동일한 구조를 가지고 있지만(다만 키워드가 if에서 while로 달라졌을 뿐이다), 의미는 상당히 다르다. while 반복문은 <불형 표현식>을 평가해 False이면 아무런 일도 하지 않는다. <불형 표현식>이 True이면 (if 조건문과 마찬가지로) 문장 블록을 차례대로 실행하고 나서 <불형 표현식>을 다시 평가한다. 그러고 나서 <불형 표현식>이 True이면 다시 문장 블록을 실행하며, <불형 표현식>이 거짓이 될 때까지 문장 블록을 계속 실행한다. 따라서 제어 흐름이 계속 <불형 표현식>으로 거슬러 올라간다. 이런 반복 구조는 순서도를 보면 잘 알 수 있다. [그림 1.3.3]은 잠시 후에 살펴볼 [프로그램 1.3.2]의 순서도이다. 여기에서 while 반복문은 루프(loop), while 반복문 안에 있는 문장 블록은 루프 본체(loop body), <불형 표현식>은 루프-진행 조건(loop-continuation condition)이라고 한다. 일반적으로 루프-진행 조건에서는 어떤 변수의 값을 검사하므로, 변수의 처음 값을 설정하는 초기화(initialization) 코드가 while 루프 앞에 나오는 게 보통이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.