Interruptor#
Introducción#
Los bloques de cambio ayudan a los estudiantes a pasar de la codificación basada en bloques a la codificación basada en texto. Con los bloques de Switch, los estudiantes pueden escribir código Python directamente dentro de un proyecto de bloques (escribir comandos, condiciones, valores o definiciones de funciones) mientras siguen construyendo el resto del proyecto con bloques. Los bloques individuales también se pueden convertir en sus comandos equivalentes de Python.
Para aprender a escribir comandos, métodos y operadores de Python, consulte la API de Python de VEX V5.
Debido a que los bloques de Switch contienen código Python, la ortografía, la puntuación y la sangría deben ser correctas para que el proyecto se ejecute como se espera.
A continuación se muestra una lista de todos los bloques de Switch:
Cambiar de bloque: agrega código Python a un proyecto de bloques.
Stack — Proporciona un espacio para escribir comandos de Python que se ejecutan en secuencia con otros bloques de pila.
Bloque C — Proporciona un espacio para escribir código de control de Python, como
if,while, oforsentencias.C Expandible: proporciona un espacio para escribir código de control de Python con varias ramas, como
if,elifoelse.Boolean — Proporciona un espacio para escribir código Python que devuelve
TrueoFalse.Reporter — Proporciona un espacio para escribir código Python que devuelve un valor.
Hat — Proporciona un espacio para definir una función de Python.
Apilar#
El bloque Stack proporciona un espacio para escribir comandos de Python que se ejecutan en secuencia con otros bloques de pila.
[] :: custom-switch
Un bloque Stack puede contener una o varias líneas de código Python.
cuando inicie :: hat events
[Drive forward, then stop.]
[drivetrain.drive(FORWARD)] :: custom-switch
esperar [2] segundos
detener conducción
Bloque C#
El Bloque C proporciona un espacio para escribir código de control de Python, como if, while o for. Los bloques colocados dentro del Bloque C se ejecutan como parte de esa estructura de control de Python.
if [] :: custom-switch
fin
El código de control de Python que se puede usar en un Bloque C incluye:
cuando inicie :: hat events
[Drive forward when the screen is pressed.]
por siempre
if [if brain.screen.pressing():] :: custom-switch
conducir [adelante v] por [200] [mm v] ▶
fin
fin
C Expandible#
El bloque C Expandible proporciona un espacio para escribir código de control de Python con varias ramas, como if, elif o else. Se pueden agregar ramas adicionales seleccionando la flecha más.
if [] :: custom-switch-expand
fin
El código de control de Python que se puede usar en un bloque * * C Expandible * * incluye:
cuando inicie
[Turn right when the screen is pressed, otherwise turn left.]
por siempre
if [if brain.screen.pressing():] :: custom-switch-expand
girar [derecha v]
else [else:] :: custom-switch-expand
girar [izquierda v]
fin
fin
Booleano#
El bloque Booleano proporciona un espacio para escribir código Python que devuelve True o FalseSe puede colocar dentro de bloques con entradas hexagonales.
<[] :: 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 usar operadores de comparación para comparar valores:
Mayor que:
>Menos de:
<Igual a:
==Otros operadores de comparación incluyen
<=,!== y>=
<[drivetrain.get_heading()> 100] :: custom-switch>
cuando inicie :: hat events
[Drive forward whenever the screen is pressed.]
por siempre
si <[brain.screen.pressing()] :: custom-switch> entonces
conducir [adelante v] por [200] [mm v] ▶
fin
fin
Informante#
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 usar en un bloque * * Reporter * *:
([drivetrain.rotation() + 45] :: custom-switch)
cuando inicie :: hat events
[Display the rotation while turning.]
girar [derecha v] por [450] grados ◀ y no esperar
por siempre
limpiar 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 adjuntos debajo del Sombrero se convierten en el cuerpo de esa función.
[] :: hat custom-switch
Escriba una definición de función de Python en el bloque * * Hat * *. Los parámetros van dentro de los paréntesis. Si la función no usa parámetros, use 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.]
conducir [adelante v] por (400) [mm v] ▶
cuando inicie :: hat events
[drive_400()] :: custom-switch