Cambiar#
Introducción#
Los bloques Switch permiten a los estudiantes escribir código Python directamente en un entorno basado en bloques. Este enfoque ayuda a reducir la brecha entre la programación basada en bloques y la basada en texto. Al permitir a los usuarios ver cómo los comandos de bloque se convierten a Python, los bloques Switch facilitan el aprendizaje de técnicas de codificación basada en texto dentro de una interfaz familiar. El uso de bloques Switch puede simplificar la lógica avanzada, los cálculos y las llamadas a funciones, sin dejar de usar bloques normales.
Pila#
El bloque Switch Stack se utiliza para ejecutar comandos Switch de Python escritos dentro del espacio abierto del bloque.
Están diseñados para colocarse encima o debajo de otros bloques de acción.
[] :: custom-switch
Los bloques Switch Stack se pueden usar para líneas individuales de comandos Switch de Python o para líneas múltiples.
Para que un bloque Switch Stack funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
cuando empieza :: hat events
[Avanzar 400 mm]
[robot.move_for(400, 0)] :: custom-switch
Bloque C#
El bloque Switch C Block se utiliza para hacer un bucle con los bloques dentro hasta que se cumpla la condición en el espacio abierto del bloque.
Tienen forma para fijar pilas u otros bloques C encima, debajo o dentro de ellos.
if [] :: custom-switch
fin
Algunos posibles comandos Switch de Python para usar con el bloque Switch C incluyen:
mientras
si
para
Para que un bloque Switch C funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
cuando empieza :: hat events
[Gire continuamente hacia la derecha hasta que se presione la pantalla.]
giro [derecha v]
por siempre
if [ if robot.screen.pressing(): ] :: custom-switch
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
fin
fin
C Expandible#
El bloque Switch C Expandible se utiliza para repetir los bloques dentro de una rama específica cuando se cumple la condición en el espacio abierto del bloque. Se pueden agregar ramas adicionales expandiendo el bloque.
Tienen forma para fijar pilas y otros bloques C encima, debajo o dentro de ellos.
if [] :: custom-switch-expand
fin
Algunos posibles comandos Switch de Python para usar con el bloque Switch C Expandable incluyen:
mientras
si
para
Para que un bloque Switch C Expandable funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
cuando empieza :: hat events
[Avanza continuamente hasta que el robot tenga una pelota deportiva.]
por siempre
if [ if robot.has_sports_ball(): ] :: custom-switch-expand
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
else [else: ]
mover [adelante v]
fin
fin
Booleano#
El bloque Switch Boolean se utiliza para devolver una condición como Verdadero o Falso. Estas condiciones se definen con las funciones Switch de Python.
Tienen forma para encajar dentro de cualquier bloque con entradas hexagonales (de seis lados).
<[] :: custom-switch>
Los bloques Switch Boolean se pueden usar para líneas individuales de funciones Switch de Python que devolverán directamente una condición verdadera o falsa.
Los operadores permiten evaluar varias funciones Switch de Python en un único bloque booleano Switch. Esto incluye:
y
o
no
<[controller.button_up.pressing() and controller.button_down.pressing()] :: custom-switch>
Un bloque Switch Boolean también puede combinar funciones Switch de Python con operadores de comparación para evaluar cómo un valor devuelto se compara con el número dado utilizando los siguientes operadores:
Mayor que: >
Menos que:
Igual a: =
Los operadores adicionales que se pueden utilizar incluyen <=, != y >=
<[robot.inertial.get_heading() > 100] :: custom-switch>
Para que un bloque Switch Boolean funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
cuando empieza :: hat events
[Gire continuamente hacia la derecha hasta que se presione la pantalla.]
giro [derecha v]
por siempre
si <[robot.screen.pressing()] :: custom-switch> entonces
imprimir [ ¡Se presionó la pantalla! ] en pantalla ▶
detener todo movimiento
fin
fin
Reportero#
El bloque Switch Reporter se utiliza para devolver un valor numérico. Estas condiciones se definen con las funciones Switch de Python.
Tienen forma para encajar dentro de cualquier bloque con entradas circulares.
([] :: custom-switch)
Los bloques Switch Reporter se pueden usar para líneas individuales de funciones Switch de Python que devolverán directamente un valor numérico.
Se pueden usar funciones matemáticas para calcular valores dentro de un bloque Switch Reporter. Esto incluye, entre otros:
Adición: +
Resta: -
División: /
Multiplicación: *
([robot.inertial.get_heading() + 45] :: custom-switch)
Para que un bloque Switch Reporter funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
cuando empieza :: hat events
[El rumbo actual del robot + 45 grados se imprimirá en la pantalla.]
imprimir ([robot.inertial.get_heading() + 45] :: custom-switch) en pantalla ▶
Sombrero#
El bloque Switch Hat se utiliza para ejecutar la pila de bloques adjunta cuando se llama a la función.
Están diseñados para colocarse encima de otros bloques de acción.
[] :: hat custom-switch
La pila de bloques adjunta es una función. El bloque “Switch Hat” define el nombre de la función y los parámetros opcionales.
Los parámetros deben escribirse entre paréntesis y seguidos de dos puntos, como se muestra a continuación. Si una función no tiene parámetros, utilice paréntesis cerrados: ().
[def function_name(parameter):] :: hat custom-switch
Para que un bloque Switch Hat funcione como está previsto, los comandos Switch de Python deben ingresarse con la ortografía, la puntuación y la sangría correctas.
[def move_400():] :: hat custom-switch
[Define una función personalizada usando Switch Hat Blocks.]
mover [adelante v] para (400) [mm v] ▶
cuando empieza :: hat events
[move_400()] :: custom-switch