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 VEX EXP.
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, orforstatements.C Expandable — Provides a space to type Python control code with multiple branches, such as
if,elif, orelse.Boolean — Provides a space to type Python code that returns
TrueorFalse.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.
[] :: custom-switch
Un bloque Stack puede contener una o varias líneas de código Python.
cuando empezó :: hat events
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
esperar [2] segundos
deja de conducir
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.
if [] :: custom-switch
fin
El código de control Python que se puede utilizar en un bloque C incluye:
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] ▶
fin
fin
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.
if [] :: custom-switch-expand
fin
El código de control Python que se puede utilizar en un bloque C Expandible incluye:
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:] :: custom-switch-expand
turno [izquierda v]
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.
<[] :: custom-switch>
Un bloque booleano puede contener una condición de Python.
<[bumper_a.is_pressed()] :: custom-switch>
Un bloque booleano también puede utilizar operadores lógicos:
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: 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>=
<[drivetrain.get_heading()> 100] :: custom-switch>
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] ▶
fin
fin
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.
([] :: custom-switch)
Un bloque Reporter puede contener código Python que devuelve un valor.
([drivetrain.rotation()] :: custom-switch)
Los operadores matemáticos se pueden utilizar en un bloque Reportero:
([drivetrain.rotation() + 45] :: custom-switch)
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
fin
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.
[] :: 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.
[def function_name(parameter):] :: hat custom-switch
[def drive_400():] :: hat custom-switch
[Create a function to drive the robot forward.]
unidad [adelante v] para (400) [mm v] ▶
cuando empezó :: hat events
[drive_400()] :: custom-switch