Changer#

Introduction#

Les blocs Switch facilitent la transition des élèves de la programmation par blocs à la programmation textuelle. Grâce à eux, ils peuvent saisir du code Python directement dans un projet utilisant des blocs (commandes, conditions, valeurs ou définitions de fonctions) tout en continuant à construire le reste du projet avec des blocs. Chaque bloc peut également être converti en sa commande Python équivalente.

Pour apprendre à saisir des commandes, des méthodes et des opérateurs Python, consultez l’API Python VEX VR.

Étant donné que les blocs Switch contiennent du code Python, l’orthographe, la ponctuation et l’indentation doivent être correctes pour que le projet fonctionne comme prévu.

Vous trouverez ci-dessous la liste de tous les blocs Switch :

Blocs Switch — Ajoutez du code Python à un projet Blocks.

  • Pile — Fournit un espace pour saisir des commandes Python qui s’exécutent en séquence avec d’autres blocs de pile.

  • Bloc C — Fournit un espace pour saisir du code de contrôle Python, tel que if, while, ou for instructions.

  • C Expandable — Fournit un espace pour saisir du code de contrôle Python avec plusieurs branches, comme if, elif, ou else.

  • Booléen — Fournit un espace pour saisir du code Python qui renvoie True ou False.

  • Reporter — Fournit un espace pour saisir du code Python qui renvoie une valeur.

  • Chapeau — Fournit un espace pour définir une fonction Python.

Empiler#

Le bloc Pile offre un espace pour saisir des commandes Python qui s’exécutent en séquence avec d’autres blocs de pile.

Bloc de pile#
[] :: custom-switch

Un bloc Stack peut contenir une ou plusieurs lignes de code Python.

Au démarrage, il utilise un bloc Stack pour avancer.#
au démarrage
[Drive forward 400 mm.]
[drivetrain.drive_for(FORWARD, 400, MM)] :: custom-switch

Bloc 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.

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

Le code de contrôle Python utilisable dans un bloc C comprend :

  • if

  • while

  • for

Au démarrage, il utilise un bloc C pour s’arrêter lorsque le pare-chocs est enfoncé.#
au démarrage
[Continuously drive until the bumper is pressed.]
se déplacer en [avant v]
indéfiniment
if [if bumper.pressed():] :: custom-switch
afficher [Bumper was pressed!] ▶
arrêter le déplacement
fin
fin

C extensible#

Le bloc C Expandable offre un espace pour saisir du code de contrôle Python avec plusieurs branches, comme if, elifou elseDes branches supplémentaires peuvent être ajoutées en sélectionnant la flèche plus.

Bloc extensible C#
if [] :: custom-switch-expand
fin

Le code de contrôle Python utilisable dans un bloc C Expandable comprend :

  • if

  • elif

  • else

  • while

  • for

Au démarrage, utilise un bloc extensible C pour s’arrêter lorsque le pare-chocs est enfoncé et pour continuer à rouler dans le cas contraire.#
au démarrage
[Continuously move forward until the bumper is pressed.]
indéfiniment
if [if bumper.pressed():] :: custom-switch-expand
afficher [Bumper was pressed!] ▶
arrêter le déplacement
else [else:] :: custom-switch-expand
se déplacer en [avant v]
fin
fin

booléen#

Le bloc Booléen offre un espace pour saisir du code Python qui renvoie True ou FalseIl peut être placé à l’intérieur de blocs avec des entrées hexagonales.

Bloc booléen#
<[] :: custom-switch>

Un bloc booléen peut contenir une condition Python.

Bloc booléen avec une condition Python#
<[bumper.pressed()] :: custom-switch>

Un bloc booléen peut également utiliser des opérateurs logiques :

  • and

  • or

  • not

Bloc booléen avec un opérateur logique Python#
<[bumper.pressed() or distance.found_object()] :: custom-switch>

Un bloc booléen peut utiliser des opérateurs de comparaison pour comparer des valeurs :

  • Supérieur à : >

  • Inférieur à : <

  • Égal à : ==

  • D’autres opérateurs de comparaison incluent <=, !=, et >=

Bloc booléen avec un opérateur de comparaison Python#
<[drivetrain.heading()> 100] :: custom-switch>
Au démarrage, il utilise un bloc booléen pour s’arrêter lorsque le capteur de distance détecte un objet.#
au démarrage
[Turn right until the Distance Sensor finds an object.]
pivoter [droite v]
indéfiniment
si <[distance.found_object()] :: custom-switch> alors
afficher [Object found!] ▶
arrêter le déplacement
fin
fin

Journaliste#

Le bloc Reporter permet de saisir du code Python qui renvoie une valeur. Il peut être placé à l’intérieur de blocs à entrées circulaires.

Bloc de reportage#
([] :: custom-switch)

Un bloc Reporter peut contenir du code Python qui renvoie une valeur.

Bloc de rapporteur avec du code Python qui renvoie une valeur#
([drivetrain.heading()] :: custom-switch)

Les opérateurs mathématiques peuvent être utilisés dans un bloc Reporter :

  • Addition : +

  • Soustraction : -

  • Division : /

  • Multiplication : *

Bloc de rapporteur avec ajout de Python#
([drivetrain.heading() + 45] :: custom-switch)
Au démarrage, il imprime la direction du robot plus 45 degrés.#
au démarrage
[Print the robot's heading plus 45 degrees.]
afficher ([drivetrain.heading() + 45] :: custom-switch) ▶

Chapeau#

Le bloc Hat permet de définir une fonction Python. Les blocs placés sous le bloc Hat constituent le corps de cette fonction.

Bloc de chapeau#
[] :: hat custom-switch

Saisissez la définition d’une fonction Python dans le bloc Chapeau. Les paramètres se placent entre parenthèses. Si la fonction ne prend pas de paramètres, utilisez des parenthèses vides.

Bloc chapeau avec définition de fonction Python#
[def function_name(parameter):] :: hat custom-switch
Au démarrage, utilise un bloc Hat pour définir et appeler une fonction.#
[def drive_400():] :: hat custom-switch
[Define a custom function using a Hat block.]
se déplacer [avant v] sur (400) [mm v] ▶

au démarrage
[drive_400()] :: custom-switch