Skip to main content

수업 2: For 루프를 사용한 프로젝트 흐름

프로젝트에서 에서 으로 루프를 사용하는 경우에도 명령을 실행하는 동안 동일한 논리를 따릅니다. 예를 들어, 이 두 코드 샘플은 VR 로봇을 같은 방식으로 움직이게 만듭니다. 그러나으로 반복하는 프로젝트에서는 이를 위해 두 개의 Drivetrain 명령을 4번 반복합니다.

for 루프를 사용할 때와 사용하지 않을 때의 차이를 보여주기 위해 사각형을 그리는 두 개의 코드 조각을 나란히 표시했습니다. 왼쪽의 것은 for 루프가 없고, drive for와 turn for 명령이 각각 4번씩 반복됩니다. 오른쪽에 있는 것은 for 루프와 원형 패턴의 빨간색 화살표가 있고 그 안에 4번이라는 단어가 있는데, 이는 for 루프가 drive for와 turn for 명령을 4번 반복한다는 것을 나타냅니다.

for 루프는 일련의 명령을 지정된 횟수만큼 반복하는 데 사용됩니다. 으로 바꾸는 루프는 그 안에 있는 명령 시퀀스를 반복합니다(반복이라고도 함). Python for 루프에서 변수 'value'는 현재 반복을 추적하는 데 사용되고 키워드 'in'은 range함수를 사용하여 반복 횟수를 지정합니다. 각 명령어의 단어 위에 텍스트를 표시하여 해당 기능을 식별하는 for 루프 구문의 분석을 보여줍니다. 첫 번째 단어인 for에는 "루프를 식별합니다"라는 텍스트가 위에 있습니다. 두 번째 단어인 값에는 "변수를 식별합니다(루프를 몇 번 반복했습니까?)"라는 텍스트가 있습니다. 세 번째 단어인 in에는 "변수를 목록(범위)에 연결합니다."라는 텍스트가 있습니다. 마지막 단어는 매개변수 10을 괄호 안에 넣은 범위입니다. 그 위의 텍스트는 "목록을 식별합니다(루프를 몇 번 반복할 것인가?)"라고 읽습니다.

범위 함수는 루프가 반복(또는 반복)되어야 하는 횟수를 식별합니다. 원하는 횟수만큼 동작을 반복하려면 범위 함수의 매개변수를 설정합니다.

범위 함수는 기본적으로 루프가 완료되기 위해 반복해야 하는 내용을 지정하는 임시 목록을 만듭니다. 정사각형의 네 변을 그리는 것과 같은 반복적인 동작의 경우, 범위 함수는 (0, 1, 2, 3)의 임시 목록을 사용하여 VR 로봇이 해당 명령을 네 번 실행할 수 있도록 합니다. VR 로봇의 움직임은 여기에 표시된 것처럼 범위 함수의 매개변수에 따라 달라집니다. 

범위 함수를 설명하는 VEXcode 프로젝트입니다. def main open parenthesis close parenthesis colon 들여쓰기 된 다음 줄을 읽습니다 pen dot move open parenthesis down close parenthesis next line for value in range open parenthesis 0 close parenthesis colon 들여쓰기 된 다음 줄을 읽습니다 drivetrain dot drive underscore for open parenthesis forward, 600, MM close parenthesis next line drivetrain dot turn underscore for open parenthesis right, 90, degree close parenthesis next line wait open parenthesis five comma MSEC). 로봇이 중앙에 있는 아트 캔버스 놀이터. 구동계 명령이 0번 실행되었습니다.
위와 동일한 프로젝트이지만, 범위 함수의 매개변수에 1이 있습니다. 정사각형의 한 면을 그리는 프로젝트가 포함된 캔버스 놀이터가 완성되었습니다. 구동계 명령이 1회 실행되었습니다.
위와 동일한 프로젝트이지만, 범위 함수의 매개변수에 2가 있습니다. 로봇이 사각형의 처음 두 면을 그린 것을 보여주는 아트 캔버스 놀이터. 구동계 명령이 2번 실행되었습니다.
위와 동일한 프로젝트이지만, 범위 함수의 매개변수에 3이 있습니다. 로봇이 사각형의 세 면을 그린 것을 보여주는 아트 캔버스 놀이터. 구동계 명령이 3번 실행되었습니다.
위와 동일한 프로젝트이지만, 범위 함수의 매개변수에 4가 있습니다. 로봇이 사각형의 네 면을 모두 그린 것을 보여주는 아트 캔버스 놀이터. 구동계 명령을 4번 실행하여 사각형의 4면을 모두 완성했습니다.

 

위와 동일한 프로젝트이지만, 범위 함수의 매개변수에 5가 있습니다.

로봇이 사각형의 네 변을 모두 그린 다음, 첫 번째 면을 다시 따라 그리는 모습을 보여주는 아트 캔버스 놀이터입니다. 구동계 명령을 5번 실행하여 정사각형을 완성한 후, 첫 번째 면을 다시 추적합니다.

범위함수가 4에서 5로 바뀌었을 때 그려진 사각형의 모양은 바뀌지 않았지만 VR 로봇의 최종 위치는 바뀌었습니다. 따라서 기본범위함수인 10을 사용하여에서루프를 사용하면 동일한 정사각형 모양이 그려지지만 VR 로봇은 동작을 6번 더 반복합니다. 

VR 로봇은 루프 헤더부터 마지막 들여쓰기 명령까지 명령을 따라 이동합니다. for루프 헤더는 VR 로봇이 for 루프 외부의 다음 명령으로 넘어가기 전에 루프 내부의 동작을 지정된 횟수만큼 반복해야 함을 나타냅니다. 들여쓰기된 줄은 루프 내부에 어떤 명령이 들어 있고 반복되어야 하는지를 나타냅니다.

귀하의 정보를 위해

VEXcode VR에서는wait명령이 항상for루프에 추가됩니다. wait명령의 목적은 VEXcode VR 플랫폼의 웹 기반 특성으로 인해 VEXcode VR이 의도한 대로 프로젝트를 제대로 실행할 수 있도록 하는 것입니다. for루프를 사용할 때는wait명령을 절대로 삭제해서는 안 됩니다. 삭제하면 프로젝트가 의도한 대로 실행되지 않을 수 있습니다.

wait 명령을 사용한 for 루프.

에서 으로 이어지는 루프가 지정된 횟수만큼 실행되도록 설정하면, 필요한 반복을 완료했을 때 프로젝트가에서로 이어지는 루프를 통과할 수 있습니다. 프로젝트가 루프 외부의 다음 명령으로 넘어가려면 에서 루프의 범위함수의 매개변수에 도달해야 합니다. 아래 코드 샘플에서에서루프의 Drivetrain 명령이 4번 실행되면 프로젝트는에서루프에서 벗어나 펜 색상을 빨간색으로 설정하고 후진으로 주행합니다. 위의 VEXcode 프로젝트에서 범위 매개변수는 4이고 for 루프 주위에 빨간색 화살표가 있으며, 4x라는 표기는 이 프로젝트가 루프를 4번 반복한다는 것을 보여줍니다. 하단에 코드 2줄이 추가되었습니다. 화살표는 4번의 반복이 완료되면 해당 2줄이 실행됨을 보여줍니다. 그 줄은 펜 점 세트 색상 열린 괄호 빨간색 닫힌 괄호 및 드라이브 트레인 점 드라이브 열린 괄호에 대한 밑줄 역 쉼표 600 쉼표 mm 닫힌 괄호로 읽힙니다. 오른쪽은 놀이터에서 프로젝트를 실행한 후의 사진으로, VR 로봇이 그린 검은색 사각형에 빨간색 선이 나오는 모습을 보여줍니다.

미니 챌린지

이 프로젝트에서는 VR 로봇이 아트 캔버스 놀이터, 에 파란색 사각형을 그려야 하지만 프로젝트에 오류가 있습니다. 프로젝트를 편집하여 미니 챌린지를 해결하세요!

VR 로봇이 그린 파란색 사각형이 있는 아트 캔버스 놀이터.

아래 영상은 미니 챌린지를 완료하는 방법을 보여줍니다. 로봇은 운동장 중앙에서 출발하여 큰 파란색 사각형의 네 변을 그립니다. 

비디오 파일
  • 솔루션 영상을 시청하고 미니 챌린지를 완료하기 위해 VR 로봇이 어떻게 움직여야 하는지 검토해 보세요.
  • 이 이미지와 일치하도록 Unit3Lesson2 프로젝트를 수정하거나 아래 코드를 복사하세요.
     
def main():
	pen.move(DOWN)
	pen.set_pen_color(RED)
	drivetrain.drive_for(FORWARD, 600, MM)
	
	범위(3)의 값에 대해:
		drivetrain.drive_for(FORWARD, 600, MM)
		drivetrain.turn_for(RIGHT, 90, DEGREES)
		wait (5, MSEC)
  • 프로젝트를 시작하고 VR 로봇이 예상되는 동작을 완료하지 못하는 부분을 파악합니다.
  • 프로젝트를 수정하고 프로젝트를 다시 실행합니다. VR 로봇이 예상되는 행동을 완료하는지 확인하세요.
  • VR 로봇이 파란색 사각형을 그리지 않으면 이전 단계를 반복하여 다시 시도하세요. VR 로봇이 파란색 사각형을 그릴 때까지 프로젝트를 계속 수정하고 실행합니다.
  • VR 로봇이 아트 캔버스 놀이터에 파란색 사각형을 성공적으로 그리면 프로젝트를 저장합니다.

축하해요! 미니 챌린지를 해결했습니다!

질문

아래 링크를 선택하여 수업 퀴즈에 참여하세요.

Google 문서 / .docx / .pdf