더북(TheBook)

range() 내장 함수에 전달할 <초깃값>과 <종료 값> 인수는 정수형이어야 한다. 파이썬이 이런 형태의 문장을 만나면 들여 쓴 문장 블록을 반복 실행한다. 루프를 처음 실행할 때 <변수>는 <초깃값>을 가지고, 그다음 번에는 <변수>가 <초깃값> + 1을 갖게 되며, 마지막으로 실행할 때는 <변수>가 <종료 값> - 1을 가진다. 요약하면 for 반복문은 <변수>를 <초깃값>에서 <종료 값> - 1까지 하나씩 증가시키면서 <문장 블록>을 반복 실행한다. 예를 들어 tenhellos.py(프로그램 1.3.2)의 다음 코드 부분을 보자.

i= 4
while i <= 10:
    stdio.writeln(str(i) + 'th Hello')
    i=i+ 1

이 코드는 for 반복문을 이용해 다음과 같이 간단히 표현할 수 있다.

for i in range(4, 11): 
    stdio.writeln(str(i) + 'th Hello')

range() 함수에 인수를 하나만 전달하면 그 인수는 <종료 값>으로 사용되며, <초깃값>은 기본값인 0이 사용된다. 따라서 powersoftwo.py(프로그램 1.3.3)의 while 루프는 다음과 같이 개선할 수 있다.

power = 1
for i in range(n+1):
    stdio.writeln(str(i) + ' ' + str(power))
    power *= 2
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.