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 cerrar 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 los bloques se convierten a Python, los bloques Switch facilitan el aprendizaje de técnicas de codificación basadas 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 utilizar los bloques tradicionales.
Pila#
El bloque Switch Stack se utiliza para ejecutar comandos de Python Switch escritos en el espacio en blanco del bloque.
Están diseñados para acoplarse por encima o por 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 varias líneas.
Para que un bloque Switch Stack funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
cuando empezó :: hat events
[Drive forward then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
esperar [2] segundos
deja de conducir
Bloque C#
El bloque Switch C Block se utiliza para repetir los bloques internos hasta que se cumpla la condición en el espacio libre del bloque.
Tienen forma para poder fijar bloques apilados u otros bloques en forma de C por encima, por debajo o por dentro de ellos.
if [] :: custom-switch
fin
Algunos posibles comandos de Switch Python para usar con el bloque Switch C incluyen:
mientras
si
para
Para que un bloque Switch C funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
cuando empezó :: hat events
[Drive forward when the screen is pressed.]
para siempre
if [if brain.screen.pressing():] :: custom-switch
unidad [adelante v] para [200] [mm v] ▶
C Expandible#
El bloque Switch C Expandable se utiliza para repetir los bloques dentro de una rama específica cuando se cumple la condición en el espacio libre del bloque. Se pueden agregar ramas adicionales expandiendo el bloque.
Tienen forma para poder fijar bloques apilados y otros bloques en forma de C por encima, por debajo o por dentro de ellos.
if [] :: custom-switch-expand
fin
Algunos posibles comandos de Switch Python para usar con el bloque Switch C Expandable incluyen:
mientras
si
para
Para que un bloque Switch C Expandable funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
cuando empezó
[Turn right when the screen is pressed, otherwise turn left.]
para siempre
if [if brain.screen.pressing(): ] :: custom-switch-expand
turno [derecha v]
else [else:]
turno [izquierda v]
Booleano#
El bloque Switch Boolean se utiliza para devolver una condición como verdadera o falsa. Estas condiciones se definen con 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 se pueden usar para evaluar múltiples funciones Switch de Python en un solo bloque Switch Boolean. Esto incluye:
y
o
no
<[bumper_a.is_pressed()] :: custom-switch>
Un bloque Switch Boolean también puede combinar funciones Switch de Python con operadores de comparación para evaluar cómo se compara un valor devuelto con el número dado utilizando los siguientes operadores:
Mayor que: >
Menos que:
Igual a: =
Entre los operadores adicionales que se pueden utilizar se incluyen <=, != y >=.
<[drivetrain.get_heading()> 100] :: custom-switch>
Para que un bloque Switch Boolean funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
cuando empezó :: hat events
[Drive forward whenever the screen is pressed.]
para siempre
si <[brain.screen.pressing()] :: custom-switch> entonces
unidad [adelante v] para [200] [mm v] ▶
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 otras cosas:
Adición: +
Resta: -
División: /
Multiplicación: *
([drivetrain.heading() + 45] :: custom-switch)
Para que un bloque Switch Reporter funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
cuando empezó :: hat events
[Display the rotation while turning.]
girar [derecha v] por [450] grado ◀ y no esperes
para siempre
borrar todas las filas
imprimir ([drivetrain.rotation()] ::custom-switch) ▶
esperar [0.1] segundos
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 acoplarse encima de otros bloques de acción.
[] :: hat custom-switch
La pila de bloques adjunta representa una función. El bloque Switch Hat se utiliza para definir el nombre de la función y cualquier parámetro opcional.
Los parámetros deben ir 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 de cierre: ().
[def function_name(parameter):] :: hat custom-switch
Para que un bloque Switch Hat funcione según lo previsto, los comandos Switch de Python deben introducirse con la ortografía, la puntuación y la indentación correctas.
[def drive_400():] :: hat custom-switch
[Create a function to drive a robot forward.]
unidad [adelante v] para (400) [mm v] ▶
cuando empezó :: hat events
[drive_400()] :: custom-switch