스위치#

소개#

Switch 블록은 학생들이 블록 기반 코딩에서 텍스트 기반 코딩으로 전환하는 데 도움을 줍니다. Switch 블록을 사용하면 학생들은 블록 프로젝트 내에서 직접 파이썬 코드를 입력하여 명령, 조건, 값 또는 함수 정의를 작성할 수 있으며, 동시에 프로젝트의 나머지 부분은 블록으로 구성할 수 있습니다. 개별 블록은 해당 파이썬 명령으로 변환할 수도 있습니다.

Python 명령, 메서드 및 연산자를 입력하는 방법을 배우려면 VEXcode AIR 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

스택 블록에는 한 줄 또는 여러 줄의 파이썬 코드가 포함될 수 있습니다.

시작 시 스택 블록을 사용하여 이륙하고, 대기한 다음 착륙합니다.#
시작 시
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
[1]초 기다리기
착륙 ▶

C 블록#

C 블록은 if, while, ` for 와 같은 파이썬 제어 코드를 입력할 수 있는 공간을 제공합니다. C 블록 안에 있는 블록은 해당 파이썬 제어 구조의 일부로 실행됩니다.

C 블록#
if [] :: custom-switch
끝

C 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.

처음 작동 시에는 7번 버튼을 누르기 전까지 C 블록을 사용하여 컨트롤러로 이동합니다.#
시작 시
[Move with the controller until button 7 is pressed.]
[500] [mm v] 높이로 이륙 ▶
if [while not controller.button7.pressing():] :: custom-switch
컨트롤러로 이동
끝
착륙 ▶

C 확장 가능#

C 확장 가능 블록은 if, elif, 또는 else와 같이 여러 분기가 있는 Python 제어 코드를 입력할 수 있는 공간을 제공합니다. 더하기 화살표를 선택하면 분기를 추가할 수 있습니다.

C 확장형 블록#
if [] :: custom-switch-expand
끝

C 확장 가능 블록에서 사용할 수 있는 Python 제어 코드는 다음과 같습니다.

시작 시, 확장 가능한 C 블록을 사용하여 위로 올라가거나, 아래로 내려가거나, 공중에 떠 있을 수 있습니다.#
시작 시
[Climb up or down with buttons 5 and 6.]
[500] [mm v] 높이로 이륙 ▶
무한 반복
if [if controller.button5.pressing():] :: custom-switch-expand
[위로 v] 방향으로 상승
else [elif controller.button6.pressing():] :: custom-switch-expand
[아래로 v] 방향으로 상승
else [else:] :: custom-switch-expand
호버링
끝
끝

부울#

Boolean 블록은 True 또는 False반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 육각형 입력란을 가진 블록 안에 배치할 수 있습니다.

부울 블록#
<[] :: custom-switch>

Boolean 블록에는 Python 조건이 포함될 수 있습니다.

파이썬 조건을 사용한 부울 블록#
<[controller.button7.pressing()] :: custom-switch>

부울 블록은 논리 연산자도 사용할 수 있습니다.

파이썬 논리 연산자를 사용한 부울 블록#
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>

부울 블록은 비교 연산자를 사용하여 값을 비교할 수 있습니다.

  • 보다 큼: >

  • 미만: <

  • 동일: ==

  • 다른 비교 연산자에는 <=, !=, 및 >=가 포함됩니다.

파이썬 비교 연산자를 사용한 부울 블록#
<[drone.inertial.get_heading()> 100] :: custom-switch>
시작 시, 불리언 블록을 사용하여 7번 버튼이 눌릴 때까지 반복합니다.#
시작 시
[Move with the controller until button 7 is pressed.]
[500] [mm v] 높이로 이륙 ▶
<[controller.button7.pressing()] :: custom-switch>까지 반복
컨트롤러로 이동
끝
착륙 ▶

보고자#

Reporter 블록은 값을 반환하는 Python 코드를 입력할 수 있는 공간을 제공합니다. 이 블록은 원형 입력이 있는 블록 내부에 배치할 수 있습니다.

기자 블록#
([] :: custom-switch)

리포터 블록에는 값을 반환하는 Python 코드가 포함될 수 있습니다.

값을 반환하는 Python 코드가 포함된 리포터 블록#
([drone.get_altitude()] :: custom-switch)

리포터 블록에서 수학 연산자를 사용할 수 있습니다.

  • 덧셈: +

  • 뺄셈: -

  • 구분: /

  • 곱셈: *

Python 추가 기능이 포함된 리포터 블록#
([drone.get_altitude() + 45] :: custom-switch)
시작 시, 드론이 상승한 후 3초 동안 고도를 출력합니다.#
시작 시
[Display the altitude after climbing for 3 seconds.]
[500] [mm v] 높이로 이륙 ▶
[위로 v] 방향으로 상승
[3]초 기다리기
화면에 ([drone.get_altitude()] :: custom-switch) 출력 ▶
착륙 ▶

모자#

Hat 블록은 파이썬 함수를 정의하는 공간을 제공합니다. Hat 아래에 붙는 블록들은 해당 함수의 본문이 됩니다.

모자 블록#
[] :: hat custom-switch

Hat 블록에 파이썬 함수 정의를 입력하세요. 매개변수는 괄호 안에 넣습니다. 함수에 매개변수가 필요하지 않은 경우 빈 괄호를 사용하세요.

파이썬 함수 정의가 포함된 HAT 블록#
[def function_name(parameter):] :: hat custom-switch
시작 시 Hat 블록을 사용하여 함수를 정의하고 호출합니다.#
[def take_off_500():] :: hat custom-switch
[Define a custom function using a Hat block.]
[500] [mm v] 높이로 이륙 ▶

시작 시
[take_off_500()] :: custom-switch