6.2.2 조건을 만족할 동안 반복하기: while 문
두 번째 반복문은 while 문입니다. for 문과 while 문은 비슷하면서도 다릅니다. for 문은 리스트와 같은 반복 대상에서 값을 하나씩 가져와 반복 작업을 수행하지만, while 문은 조건을 만족하는 동안 끝없이 반복합니다.
while 문의 형식은 다음과 같습니다. while 키워드 다음에, 변수와 반복 대상 대신 조건만 있습니다. 이후 콜론을 붙이고 실행할 명령문을 들여쓰기하는 것은 똑같습니다.
형식
while 조건:
실행할 명령1
실행할 명령2
...
for 문에서 예로 든 카페에서 새로운 정책을 만들었습니다. 직원이 손님을 5번이나 불렀는데 픽업대로 음료를 가지러 오지 않으면 이를 바로 폐기 처분한다고 합니다(설명을 위한 가정일 뿐입니다). 이 동작을 while 문으로 작성해 보겠습니다.
while 문에서 수행할 동작을 생각해 봅시다. 손님의 닉네임을 5번 부를 동안 반복하므로 조건은 부르는 횟수입니다. 부르는 횟수가 5번이 넘으면 음료를 폐기 처분합니다. 그렇다면 부르는 횟수를 세야 하는데 횟수를 셀 때는 최댓값에서 빼는 방법과 최댓값이 될 때까지 더하는 방법이 있습니다. 여기서는 최댓값에서 빼는 방법을 선택하겠습니다. 그러면 최댓값은 5가 되고 1번 부를 때마다 최댓값에서 1씩 빼야겠죠. 그리고 횟수가 0이 되면 손님을 부를 필요가 없으니 횟수가 1일 때까지 반복하면 됩니다.