Cambiar#

Introducción#

Los bloques Switch ayudan a los estudiantes a pasar de la programación basada en bloques a la programación basada en texto. Con los bloques Switch, los estudiantes pueden escribir código Python directamente dentro de un proyecto de bloques (comandos, condiciones, valores o definiciones de funciones) mientras continúan desarrollando el resto del proyecto con bloques. Además, los bloques individuales se pueden convertir en sus comandos Python equivalentes.

Para aprender a escribir comandos, métodos y operadores de Python, consulte la API de Python de VEXcode AIR.

Dado que los bloques Switch contienen código Python, la ortografía, la puntuación y la indentación deben ser correctas para que el proyecto se ejecute como se espera.

A continuación se muestra una lista de todos los bloques Switch:

Bloques Switch: Añade código Python a un proyecto de Blocks.

  • Pila — Proporciona un espacio para escribir comandos de Python que se ejecutan en secuencia con otros bloques de la pila.

  • C Block — Provides a space to type Python control code, such as if, while, or for statements.

  • C Expandable — Provides a space to type Python control code with multiple branches, such as if, elif, or else.

  • Boolean — Provides a space to type Python code that returns True or False.

  • Reportero — Proporciona un espacio para escribir código Python que devuelve un valor.

  • Sombrero — Proporciona un espacio para definir una función de Python.

Pila#

El bloque Stack proporciona un espacio para escribir comandos de Python que se ejecutan en secuencia con otros bloques de la pila.

Bloque de pila#
[] :: custom-switch

Un bloque Stack puede contener una o varias líneas de código Python.

Al iniciarse, utiliza un bloque Stack para despegar, esperar y luego aterrizar.#
cuando empezó
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
esperar [1] segundos
tierra ▶

Bloque C#

The C Block provides a space to type Python control code, such as if, while, or for statements. Blocks placed inside the C Block run as part of that Python control structure.

Bloque C#
if [] :: custom-switch
fin

El código de control Python que se puede utilizar en un bloque C incluye:

Al iniciarse, utiliza un bloque C para moverse con el controlador hasta que se presiona el botón 7.#
cuando empezó
[Move with the controller until button 7 is pressed.]
despegar a [500] [mm v] ▶
if [while not controller.button7.pressing():] :: custom-switch
moverse con el controlador
fin
tierra ▶

C Expandible#

The C Expandable block provides a space to type Python control code with multiple branches, such as if, elif, or else. Additional branches can be added by selecting the plus arrow.

Bloque expandible C#
if [] :: custom-switch-expand
fin

El código de control Python que se puede utilizar en un bloque C Expandible incluye:

Al iniciarse, utiliza un bloque expandible C para subir, bajar o flotar.#
cuando empezó
[Climb up or down with buttons 5 and 6.]
despegar a [500] [mm v] ▶
para siempre
if [if controller.button5.pressing():] :: custom-switch-expand
subir [arriba v]
else [elif controller.button6.pressing():] :: custom-switch-expand
subir [abajo v]
else [else:] :: custom-switch-expand
flotar
fin
fin

Booleano#

The Boolean block provides a space to type Python code that returns True or False. It can be placed inside blocks with hexagonal inputs.

Bloque booleano#
<[] :: custom-switch>

Un bloque booleano puede contener una condición de Python.

Bloque booleano con una condición de Python#
<[controller.button7.pressing()] :: custom-switch>

Un bloque booleano también puede utilizar operadores lógicos:

Bloque booleano con un operador lógico de Python#
<[controller.button5.pressing() and controller.button7.pressing()] :: custom-switch>

Un bloque booleano puede utilizar operadores de comparación para comparar valores:

  • Greater than: >

  • Less than: <

  • Equal to: ==

  • Other comparison operators include <=, !=, and >=

Bloque booleano con un operador de comparación de Python#
<[drone.inertial.get_heading()> 100] :: custom-switch>
Al iniciarse, utiliza un bloque booleano para repetirse hasta que se pulse el botón 7.#
cuando empezó
[Move with the controller until button 7 is pressed.]
despegar a [500] [mm v] ▶
repetir hasta <[controller.button7.pressing()] :: custom-switch>
moverse con el controlador
fin
tierra ▶

Reportero#

El bloque Reportero proporciona un espacio para escribir código Python que devuelve un valor. Se puede colocar dentro de bloques con entradas circulares.

Bloque de reporteros#
([] :: custom-switch)

Un bloque Reporter puede contener código Python que devuelve un valor.

Bloque reportero con código Python que devuelve un valor.#
([drone.get_altitude()] :: custom-switch)

Los operadores matemáticos se pueden utilizar en un bloque Reportero:

  • Addition: +

  • Subtraction: -

  • Division: /

  • Multiplication: *

Bloque de reportero con adición de Python#
([drone.get_altitude() + 45] :: custom-switch)
Al iniciarse, imprime la altitud del dron tras ascender durante 3 segundos.#
cuando empezó
[Display the altitude after climbing for 3 seconds.]
despegar a [500] [mm v] ▶
subir [arriba v]
esperar [3] segundos
imprimir ([drone.get_altitude()] :: custom-switch) en la pantalla ▶
tierra ▶

Sombrero#

El bloque Hat proporciona un espacio para definir una función de Python. Los bloques que se adjuntan debajo de Hat se convierten en el cuerpo de esa función.

Bloque de sombrero#
[] :: hat custom-switch

Escriba la definición de una función Python en el bloque Hat. Los parámetros van dentro de los paréntesis. Si la función no usa parámetros, deje los paréntesis vacíos.

Bloque de sombrero con una definición de función de Python#
[def function_name(parameter):] :: hat custom-switch
Al iniciarse, utiliza un bloque Hat para definir y llamar a una función.#
[def take_off_500():] :: hat custom-switch
[Define a custom function using a Hat block.]
despegar a [500] [mm v] ▶

cuando empezó
[take_off_500()] :: custom-switch