더북(TheBook)

이 경우 반복문이 한 번 실행될 때마다 i 값이 증가하기 때문에 i가 1씩 증가하다 10에 도달하면 조건에 충족하지 않아서 반복문이 동작하지 않습니다. while 문의 동작 프로세스를 정리하면 다음 그림과 같습니다.

▲ 그림 2-19 while 반복문의 실행 과정

먼저 while 문을 만나면 실행 조건에 부합하는지 확인합니다. i의 초깃값은 1이니 i < 10를 만족하여 반복 코드가 실행됩니다. 이후에는 다시 처음으로 돌아가 while 문의 조건에 부합하는지 확인합니다. 그렇게 반복하다 더 이상 조건에 부합하지 않으면 while 문을 빠져나오는 것입니다. 앞의 예제 코드에서는 i가 1에서 시작하여 하나씩 증가하다가 10이 되기 전까지 print(i)가 실행되므로 1부터 9까지 숫자가 출력되었습니다.

이처럼 반복문을 원하는 만큼만 수행하려면 while 문의 조건 설정이 중요하며, 조건을 잘못 설정하면 앞처럼 조건문을 빠져나오지 못하는 무한 루프(infinite loop)에 빠질 수 있습니다. 조건을 잘못 설정하여 의도하지 않은 무한 루프에 빠지면 반복문 아래 존재하는 코드가 아예 실행되지 못하는 죽은 영역이 되므로 주의해야 합니다.

while True:
    print("무한 루프...")
print('절대 실행되지 않습니다.') ------ 이 코드는 절대 실행되지 않음
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.