스위치#
소개#
Switch 블록은 학생들이 블록 기반 코딩에서 텍스트 기반 코딩으로 전환하는 데 도움을 줍니다. Switch 블록을 사용하면 학생들은 블록 프로젝트 내에서 직접 파이썬 코드를 입력하여 명령, 조건, 값 또는 함수 정의를 작성할 수 있으며, 동시에 프로젝트의 나머지 부분은 블록으로 구성할 수 있습니다. 개별 블록은 해당 파이썬 명령으로 변환할 수도 있습니다.
Python 명령, 메서드 및 연산자를 입력하는 방법을 배우려면 VEX CTE Python API를 참조하세요.
Switch 블록에는 Python 코드가 포함되어 있으므로 프로젝트가 예상대로 실행되려면 철자, 구두점 및 들여쓰기가 정확해야 합니다.
다음은 모든 Switch 블록 목록입니다.
블록 전환 — 블록 프로젝트에 Python 코드를 추가합니다.
스택 — 다른 스택 블록과 순차적으로 실행되는 Python 명령을 입력할 공간을 제공합니다.
C 블록 —
if,while, 또는for문과 같은 Python 제어 코드를 입력할 공간을 제공합니다.C 확장 가능 —
if,elif, 또는else와 같이 여러 분기가 있는 Python 제어 코드를 입력할 공간을 제공합니다.Boolean —
True또는False반환하는 Python 코드를 입력할 공간을 제공합니다.Reporter — 값을 반환하는 Python 코드를 입력할 공간을 제공합니다.
Hat — Python 함수를 정의할 공간을 제공합니다.
스택#
스택 블록은 다른 스택 블록과 순차적으로 실행되는 파이썬 명령어를 입력할 수 있는 공간을 제공합니다.
[] :: custom-switch
스택 블록에는 한 줄 또는 여러 줄의 파이썬 코드가 포함될 수 있습니다.
시작 시 :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: custom-switch
C 블록#
C 블록은 if, while, ` for 와 같은 파이썬 제어 코드를 입력할 수 있는 공간을 제공합니다. C 블록 안에 있는 블록은 해당 파이썬 제어 구조의 일부로 실행됩니다.
if [] :: custom-switch
끝
C 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.
시작 시 :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
콘솔에 [The 6-Axis Arm can't move to this position.] 출력 ◀ 및 커서를 다음 행으로 이동
끝
C 확장 가능#
C 확장 가능 블록은 if, elif, 또는 else와 같이 여러 분기가 있는 Python 제어 코드를 입력할 수 있는 공간을 제공합니다. 더하기 화살표를 선택하면 분기를 추가할 수 있습니다.
if [] :: custom-switch-expand
끝
C 확장 가능 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.
시작 시
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
콘솔에 [The 6-Axis Arm can't move to this position.] 출력 ◀ 및 커서를 다음 행으로 이동
else [else:] :: custom-switch-expand
콘솔에 [The 6-Axis Arm can move to this position.] 출력 ◀ 및 커서를 다음 행으로 이동
끝
부울#
Boolean 블록은 True 또는 False반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 육각형 입력란을 가진 블록 안에 배치할 수 있습니다.
<[] :: custom-switch>
Boolean 블록에는 Python 조건이 포함될 수 있습니다.
<[bumper_a.is_pressed()] :: custom-switch>
부울 블록은 논리 연산자도 사용할 수 있습니다.
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: custom-switch>
부울 블록은 비교 연산자를 사용하여 값을 비교할 수 있습니다.
보다 큼:
>미만:
<동일:
==다른 비교 연산자에는
<=,!=, 및>=가 포함됩니다.
<[drivetrain.get_heading()> 100] :: custom-switch>
시작 시
[Check if the 6-Axis Arm can move to a position.]
<<[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch> 아님>이면
콘솔에 [The 6-Axis Arm can't move to this position.] 출력 ◀ 및 커서를 다음 행으로 이동
끝
보고자#
Reporter 블록은 값을 반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 원형 입력이 있는 블록 내부에 배치할 수 있습니다.
([] :: custom-switch)
리포터 블록에는 값을 반환하는 Python 코드가 포함될 수 있습니다.
([arm.get_y()] :: custom-switch)
리포터 블록에서 수학 연산자를 사용할 수 있습니다.
([arm.get_y() + 45] :: custom-switch)
시작 시
[Display the current y-position while the 6-Axis Arm moves.]
[팔 v]을 위치 x:(-100) y:(200) z:(100) [mm v]로 이동 ◀ 및 기다리지 않음
<[팔 v] 이동 완료?>까지 반복
콘솔에 ([arm.get_y()] :: custom-switch) 출력 ◀ 및 커서를 다음 행으로 이동
[0.25]초 기다리기
끝
모자#
Hat 블록은 파이썬 함수를 정의하는 공간을 제공합니다. Hat 아래에 붙는 블록들은 해당 함수의 본문이 됩니다.
[] :: hat custom-switch
Hat 블록에 파이썬 함수 정의를 입력하세요. 매개변수는 괄호 안에 넣습니다. 함수에 매개변수가 필요하지 않은 경우 빈 괄호를 사용하세요.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
[팔 v] 위치를 x:[0] y:[100] z:[0] [mm v] 만큼 증가 ▶
시작 시 :: hat events
[increment_y_100()] :: custom-switch