알아채셨겠지만, 프로그램은 작동을 하지 않습니다. 리보그 주변에 벽이 없는 상태에서 리보그가 무한 반복상태에 놓여지게 됩니다. 아래와 같이 오른쪽을 회전을 한 후에 리보그가 move() 명령문으로 한 칸 앞으로 이동해야 합니다.
def turn_right(): repeat(turn_left, 3) put_beeper() move() while not on_beeper(): if right_is_clear(): turn_right() move() elif front_is_clear(): move() else: turn_left() turn_off()
이제 아래 보여지는 월드를 생각해봅시다. 여러분이 작성한 프로그램이 동작할까요?
불행하게도, 정답은 ‘아니오’ 입니다. 더 이상의 학습을 진행하기 전에 왜 그런지 알아봅시다.