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 VEXcode AIR.

É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 décoller, attendre, puis atterrir.#
au démarrage
[Take off, wait 1 second, then land.]
[drone.take_off(500)] :: custom-switch
attendre [1] secondes
atterrir ▶

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 :

Au démarrage, utilise un bloc C pour se déplacer avec la manette jusqu’à ce que le bouton 7 soit enfoncé.#
au démarrage
[Move with the controller until button 7 is pressed.]
décoller à [500] [mm v] ▶
if [while not controller.button7.pressing():] :: custom-switch
se déplacer avec la Télécommande
fin
atterrir ▶

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 :

Au démarrage, utilise un bloc extensible C pour monter, descendre ou planer.#
au démarrage
[Climb up or down with buttons 5 and 6.]
décoller à [500] [mm v] ▶
indéfiniment
if [if controller.button5.pressing():] :: custom-switch-expand
se déplacer [en haut v]
else [elif controller.button6.pressing():] :: custom-switch-expand
se déplacer [en bas v]
else [else:] :: custom-switch-expand
vol stationnaire
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#
<[controller.button7.pressing()] :: custom-switch>

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

Bloc booléen avec un opérateur logique Python#
<[controller.button5.pressing() and controller.button7.pressing()] :: 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#
<[drone.inertial.get_heading()> 100] :: custom-switch>
Au démarrage, utilise un bloc booléen pour se répéter jusqu’à ce que le bouton 7 soit pressé.#
au démarrage
[Move with the controller until button 7 is pressed.]
décoller à [500] [mm v] ▶
répéter jusqu'à <[controller.button7.pressing()] :: custom-switch>
se déplacer avec la Télécommande
fin
atterrir ▶

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#
([drone.get_altitude()] :: 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#
([drone.get_altitude() + 45] :: custom-switch)
Au démarrage, il imprime l’altitude du drone après une ascension de 3 secondes.#
au démarrage
[Display the altitude after climbing for 3 seconds.]
décoller à [500] [mm v] ▶
se déplacer [en haut v]
attendre [3] secondes
afficher ([drone.get_altitude()] :: custom-switch) sur l'écran ▶
atterrir ▶

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 take_off_500():] :: hat custom-switch
[Define a custom function using a Hat block.]
décoller à [500] [mm v] ▶

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