파이썬 개발 과정
챕터
>
레벨
조건
Break 및 Continue 문
목표
루프 조건을 사용하여 건물 사이 복도에 자란 잡초를 제거하세요.
건물 사이 복도에 잡초가 자라고 있으니, 루프를 사용하여 모든 잡초를 모아 버리세요. 루프 조건을 이용하면 이 과정을 자동화할 수 있는 방법들이 있습니다.
bag 이라는 변수를 생성하고, 잡초를 주울 때마다 이 변수에 저장하세요. 조건문이 포함된 while 루프를 사용하여 과정을 자동화하세요. 전체 잡초는 열(10) 개입니다.
while True: player.move_forward() bag += 1 if bag == 10: break
while 루프를 True로 설정하면, break 연산자가 사용되어 루프가 종료되지 않는 한 계속 실행됩니다. 각 루프 사이클마다 잡초 하나가 가방에 추가되며, 모인 잡초의 수를 확인하여 루프를 종료할지 결정합니다. if 문은 가방에 담긴 잡초의 수를 확인하고, 정해진 수에 도달하면 루프를 break할지를 결정하는 데 사용됩니다.
복도를 지나간 후, for 루프를 사용하여 X 표시가 있는 위치에서 place() 함수를 통해 잡초를 컨테이너에 버리세요. 각 컨테이너 사이의 단계 수는 중간에 간격이 있어 일정하지 않습니다. continue 연산자를 사용하면, if 문을 통해 조건을 검사하여 해당 루프 사이클을 건너뛸 수 있습니다.
for x in range(3): player.move_forward() if x == 1: continue player.turn_right() player.place(bag/2) player.turn_left()
위 코드에서, if 문은 루프 사이클의 수인 x가 1인지 확인합니다. 이 for 루프는 range()에 의해 정의된 대로 세(3) 번 실행되며, x가 0부터 시작해 0, 1, 2까지 반복됩니다. 루프 사이클이 1인 경우에는 조건이 충족되어 continue 아래의 코드가 실행되지 않고 건너뛰어집니다. 이를 통해 중앙 사이클을 건너뛰어 두 컨테이너 사이의 간격을 피할 수 있습니다.
컨테이너가 두(2) 개 있으므로, 전체 잡초 수를 나누어 bag 변수에 저장된 잡초를 place() 함수를 사용하여 버리세요. 예를 들어: player.place(bag/2) .
잡초를 모두 모아 적절한 위치에 배치한 후, 별이 표시된 출구에 도달하여 레벨을 완료하세요.