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 CTE.
É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, ouforinstructions.C Expandable — Fournit un espace pour saisir du code de contrôle Python avec plusieurs branches, comme
if,elif, ouelse.Booléen — Fournit un espace pour saisir du code Python qui renvoie
TrueouFalse.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.
[] :: custom-switch
Un bloc Stack peut contenir une ou plusieurs lignes de code Python.
au démarrage :: hat events
[Move the 6-Axis Arm to a standard position at the start of the project.]
[arm.move_to(120, 120, 75, False)] :: 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.
if [] :: custom-switch
fin
Le code de contrôle Python utilisable dans un bloc C comprend :
au démarrage :: hat events
[Check if the 6-Axis Arm can move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch
afficher [The 6-Axis Arm can't move to this position.] sur la console ◀ et placer le curseur sur la ligne suivante
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.
if [] :: custom-switch-expand
fin
Le code de contrôle Python utilisable dans un bloc C Expandable comprend :
au démarrage
[Check if the 6-Axis Arm can or can't move to a position.]
if [if not arm.can_arm_reach_to(0, 0, 0):] :: custom-switch-expand
afficher [The 6-Axis Arm can't move to this position.] sur la console ◀ et placer le curseur sur la ligne suivante
else [else:] :: custom-switch-expand
afficher [The 6-Axis Arm can move to this position.] sur la console ◀ et placer le curseur sur la ligne suivante
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.
<[] :: custom-switch>
Un bloc booléen peut contenir une condition Python.
<[bumper_a.is_pressed()] :: custom-switch>
Un bloc booléen peut également utiliser des opérateurs logiques :
<[bumper_a.is_pressed() or bumper_b.is_pressed()] :: 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>=
<[drivetrain.get_heading()> 100] :: custom-switch>
au démarrage
[Check if the 6-Axis Arm can move to a position.]
si <pas <[arm.can_arm_reach_to(0, 0, 0)] :: custom-switch>> alors
afficher [The 6-Axis Arm can't move to this position.] sur la console ◀ et placer le curseur sur la ligne suivante
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.
([] :: custom-switch)
Un bloc Reporter peut contenir du code Python qui renvoie une valeur.
([arm.get_y()] :: custom-switch)
Les opérateurs mathématiques peuvent être utilisés dans un bloc Reporter :
([arm.get_y() + 45] :: custom-switch)
au démarrage
[Display the current y-position while the 6-Axis Arm moves.]
déplacer [bras v] en position x :(-100) y :(200) z :(100) [mm v] ◀ et ne pas attendre
répéter jusqu'à <[bras v] a-t-il terminé son mouvement ?>
afficher ([arm.get_y()] :: custom-switch) sur la console ◀ et placer le curseur sur la ligne suivante
attendre [0.25] secondes
fin
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.
[] :: 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.
[def function_name(parameter):] :: hat custom-switch
[def increment_y_100():] :: hat custom-switch
[Create a function to increment the 6-Axis Arm.]
incrémenter la position du [bras v] de x :[0] y :[100] z :[0] [mm v] ▶
au démarrage :: hat events
[increment_y_100()] :: custom-switch