더북(TheBook)

i = i + 1은 수학적으로는 말이 안 되지만, 파이썬에서는 할당문이므로 올바른 문장이며, i + 1 값을 계산해 결과를 다시 i에 할당하라는 것을 의미한다. 이 문장이 실행되기 전에는 i4이며, 실행한 후에는 5가 된다. 문장이 실행되기 전에 i5이면 실행한 후에는 6이 되고, 이 과정을 계속해서 실행한다. tenhellos.py에서 i의 초기 상태가 4로 설정되므로, i10보다 커져 <불형 표현식>이 거짓이 될 때까지 문장 블록이 총 7번 실행된다.

이렇게 간단한 작업에는 while 반복문을 써서 얻는 이득이 거의 없지만 잠시 후 루프 없이는 생각할 수 없을 정도로 여러 번 반복되는 문장을 사용해야 하는 작업을 수행할 것이다. while 반복문은 문장들을 거의 무한히 실행할 수도 있으므로 while 반복문을 사용하는 프로그램과 while 반복문을 사용하지 않는 프로그램은 커다란 차이가 있다. 그리고 while 반복문을 사용하면 아주 긴 작업도 간단히 명시할 수 있으며, 컴퓨터 없이는 해결할 꿈도 못 꾸던 작업들을 수행할 수 있는 프로그램도 작성할 수 있게 된다. 그러나 이렇게 얻는 이득에 대한 대가도 있다. 프로그램이 더욱 복잡해질수록 이해하기도 어려워지기 때문이다.

[프로그램 1.3.3](powersoftwo.py)while 반복문을 이용해 2의 거듭제곱 표를 출력한다. 루프 카운터 i 외에 계산된 2의 거듭제곱을 보관할 power라는 변수도 가지고 있다. 루프 본체는 현재 2의 거듭제곱 값을 출력하는 문장, (현재의 거듭제곱 값에 2를 곱해) 다음번 2의 거듭제곱을 계산하는 문장, 루프 제어 카운터를 증가시키는 문장, 총 세 개의 문장으로 구성된다.

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