리보그월드 반복문 사용법 매뉴얼

리보그월드에서 반복문은 같은 코드를 여러 번 실행할 때 사용합니다. 파이썬의 for, while 과 리보그 전용 repeat 를 배웁니다.


1. 반복문이 필요한 이유

같은 코드를 여러 번 쓸 때 반복문을 사용하면 코드가 짧아지고 읽기 쉬워집니다.

반복문 없이 작성

move()
move()
move()
move()
turn_left()

반복문 사용

for i in range(4):
    move()
turn_left()

2. repeat (리보그 전용)

repeat 는 리보그세상에서만 동작하는 간단한 반복문입니다. 표준 파이썬에는 없습니다.

문법

repeat n:
    # 명령어
    # 명령어
  • n: 반복할 횟수 (정수만 가능)

  • :: 콜론 필수

  • 들여쓰기: 본문은 반드시 들여씀 (공백 4 칸)

예제 1: 정사각형 그리기

repeat 4:
    move()
    turn_left()

예제 2: 오른쪽 돌기

def turn_right():
    repeat 3:
        turn_left()

turn_right()

예제 3: 5 칸 이동

repeat 5:
    move()

주의사항

  • repeat 는 리보그 세상 전용입니다. 일반 파이썬에서는 작동하지 않습니다.

  • n 에 변수를 쓸 수 없습니다. 오직 정수만 가능합니다.

  • 학생이 변수와 for 를 배우면 repeat 대신 표준 파이썬을 사용해야 합니다.


3. for 반복문 (표준 파이썬)

for 는 정해진 횟수만큼 반복할 때 사용합니다.

문법

for i in range(n):
    # 명령어
    # 명령어
  • for: 반복문 키워드

  • i: 반복 변수 (이름은 자유롭게 변경 가능)

  • in: range 에 포함된 값을 하나씩 가져옴

  • range(n): 0 부터 n-1 까지 숫자 생성

  • :: 콜론 필수

  • 들여쓰기: 본문은 반드시 들여씀

예제 1: 5 칸 이동

for i in range(5):
    move()

예제 2: 정사각형 그리기

for i in range(4):
    move()
    turn_left()

예제 3: 함수 정의와 함께

def turn_right():
    for i in range(3):
        turn_left()

turn_right()

range() 의 다양한 사용

# 0 부터 4 까지 (5 번)
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

# 2 부터 6 까지 (5 번)
for i in range(2, 7):
    print(i)  # 2, 3, 4, 5, 6

# 2 씩 증가 (0, 2, 4, 6, 8)
for i in range(0, 10, 2):
    print(i)

4. while 반복문 (조건 반복)

while조건이 참인 동안 계속 반복합니다. 횟수를 모를 때 사용합니다.

문법

while 조건:
    # 명령어
    # 명령어
  • while: 조건 반복 키워드

  • 조건: 참/거짓을 반환하는 식

  • :: 콜론 필수

  • 들여쓰기: 본문은 반드시 들여씀

예제 1: 앞이 비어 있는 동안 이동

while front_is_clear():
    move()

예제 2: 목표에 도착할 때까지 반복

while not at_goal():
    move()

예제 3: 허들 넘기

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def jump():
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

while not at_goal():
    if front_is_clear():
        move()
    else:
        jump()

while 의 동작 원리

while condition():
    do_1()
    do_2()
    do_3()

이 코드는 다음과 같이 동작합니다.

  1. condition() 이 참인지 확인

  2. 참이면 do_1(), do_2(), do_3() 실행

  3. 다시 1 번으로 돌아가 조건 확인

  4. 조건이 거짓이 되면 반복 종료

무한 루프 주의

조건이 항상 참이면 반복이 끝나지 않습니다.

# ❌ 위험: 절대 멈추지 않음
while True:
    move()

꼭 무한 반복이 필요하면 break 를 사용합니다.

while True:
    if at_goal():
        break
    move()

5. for vs while vs repeat

반복문

언제 사용

예시

repeat n

리보그 전용, 횟수가 정해짐

repeat 4:

for i in range(n)

표준 파이썬, 횟수가 정해짐

for i in range(4):

while 조건

횟수를 모르고 조건으로 판단

while not at_goal():

선택 가이드

  • 횟수를 정확히 알 때: for 또는 repeat

  • 횟수를 모를 때: while

  • 리보그 초급: repeat 로 시작

  • 표준 파이썬: forwhile 사용


6. 중첩 반복문

반복문 안에 반복문을 넣을 수 있습니다.

예제 1: 3x3 정사각형 이동

for i in range(3):
    for j in range(3):
        move()
    turn_left()

예제 2: 계단 만들기

for i in range(4):
    move()
    turn_left()
    move()
    turn_right()

7. breakcontinue

break: 반복문 즉시 종료

while True:
    if at_goal():
        break
    move()

continue: 이번 반복 건너뛰고 다음으로

for i in range(10):
    if i == 5:
        continue
    print(i)  # 0, 1, 2, 3, 4, 6, 7, 8, 9

8. 리보그 예제 모음

예제 1: Alone 월드에서 정사각형

for i in range(4):
    move()
    turn_left()

예제 2: Hurdle 1 (6 개 허들)

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def jump():
    move()
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

for i in range(6):
    jump()

예제 3: Hurdle 2 (개수 가변)

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def jump():
    move()
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

while not at_goal():
    jump()

예제 4: Hurdle 3 (간격 가변)

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def jump():
    turn_left()
    move()
    turn_right()
    move()
    turn_right()
    move()
    turn_left()

while not at_goal():
    if front_is_clear():
        move()
    else:
        jump()

예제 5: Hurdle 4 (높이 가변)

def turn_right():
    turn_left()
    turn_left()
    turn_left()

def jump():
    turn_left()
    while not right_is_clear():
        move()
    turn_right()
    move()
    turn_right()
    while front_is_clear():
        move()
    turn_left()

while not at_goal():
    if front_is_clear():
        move()
    else:
        jump()

9. 자주 하는 실수

실수

수정

for i in range(5) (콜론 없음)

for i in range(5):

while front_is_clear() (콜론 없음)

while front_is_clear():

들여쓰기 안 함

본문은 공백 4 칸 들여쓰기

repeat 에 변수 사용

repeat 는 정수만 가능

while Truebreak 없음

무한 루프 주의


10. 연습 문제

문제 1

repeat 를 사용해 8 칸 이동하는 코드를 작성하세요.

# 여기에 코드 작성

문제 2

for 를 사용해 정육각형을 그리세요. (한 변: move(), 회전: turn_left())

# 여기에 코드 작성

문제 3

while 을 사용해 앞이 막힐 때까지 이동하는 코드를 작성하세요.

# 여기에 코드 작성

문제 4

Hurdle 2 월드에서 whileif 를 사용해 허들을 넘으세요.

# 여기에 코드 작성

11. 정리

반복문

문법

특징

repeat

repeat n:

리보그 전용, 정수만 가능

for

for i in range(n):

표준 파이썬, 횟수 정해짐

while

while 조건:

조건이 참인 동안 반복

권장 학습 순서

  1. repeat 로 반복 개념 익히기

  2. for 로 표준 파이썬 전환

  3. while 로 조건 반복 학습

  4. break, continue 로 제어 심화


12. 참고 자료