이전 항목

13. 신문배달 재방문

다음 항목

15. 요약

현재 문서

주의사항

해당 문서는 중요 변경 작업 중에 있습니다. 일부 문서에 텍스트가 빠져있거나, 불어로 플레이스홀더(placeholder) 자리차지만 되어 있을 수 있습니다.

14. 반복

종종, 정해진 횟수만큼 일련의 함수를 반복하고 싶을 것이다. 파이썬에는 그렇게 하는 방법이 있다... 하지만, 이번에 설명하기에는 너무나 많은 새로운 개념이 있다. 여러분에게 단지 코드만 보여주고 나서 즉시, repeat 명령어를 소개하는데, 리보그 세상에만 유일한 더 단순한 함수에 대한 대안이다. 표준적인 방식은 for 루프(for loop) 로 알려진 것으로 다음과 같이 작성된다:

for i in range(n):
    # 명령어를
    # 여기에
    # 작성한다.

주석

repeat 명령어는 리보그 월드 바깥세상을 의미하는 파이썬 프로그램에서는 동작하지 않는다. 루프(loop) 는 명령어 덩어리로 반복된다.

리보그 세상에서, repeat 루프 를 다음과 같이 작성한다:

repeat n:    # "n" 은 정수다.
    # 명령어를
    # 여기에
    # 작성한다.

예를 들어, 다음 코드는 리보그가 정사각형을 그리게 만든다:

repeat 4:
    move()
    turn_left()

repeat 명령어를 사용해서, 명령어를 반복할 필요없이, 함수 정의를 다시 작성할 수 있다:

def turn_right():
    repeat 3:
        turn_left()

그래서, repeat 을 사용함으로써, 코드에 반복을 제거하는 또 다른 방법을 얻게 되었다.

시도해 보기!

코드를 줄일 수 있는 어느 곳이나, repeat 명령어를 사용해서 신문배달 문제에 대한 프로그램을 변경하라. 만약 저장을 하지 않았다면, 이전 학습으로 되돌아가서 repeat 명령어를 사용해서 다시 작성하라.

선생님께

파이썬 표준 표기법에 추가해서 repeat 명령어를 도입한 사유는 동시에 4가지 개념(루프, for _ in range(n)``에서 ``_``에 들어가는 변수, ``range 같은 내장함수, 함수 인자 개념)을 소개하는 것을 회피하기 위함이다.

설계상으로 repeat nn 은 정수만 된다 ; 변수가 될 수 없다. 학생이 변수에 관해서 배울 때, 루프 반복을 하는 적절한 파이썬 구문을 배우고 비표준 repeat 은 잊어야 된다.