Exécuter selon des conditions
Permet d'exécuter des instructions si une condition parmi plusieurs est vraie.
Dans l'exemple ci-dessous, nous allons modifier l'état d'une LED RGB,
- En vert si le bouton A seul est appuyé.
- En orange si le bouton B seul est appuyé.
- En rouge si les boutons A et B sont tous les deux appuyés.
- Éteinte si aucun des boutons est appuyé.
Info
Le bloc if
peut être trouvé dans la catégorie de blocs Contrôle. Notez qu'une condition issue de la catégorie de bloc Opérateurs doit être fournie pour que ce bloc soit fonctionnel.
# On boucle indéfiniment
while True:
# si le bouton A seul est appuyé
if button_a.is_pressed() and not button_b.is_pressed():
# on allume la led de couleur verte
led.set_colors(0, 255, 0)
# si le bouton B seul est appuyé
elif not button_a.is_pressed() and button_b.is_pressed():
# on allume la led de couleur orange
led.set_colors(255, 140, 0)
# si le bouton A et le bouton B sont appuyés
elif button_a.is_pressed() and button_b.is_pressed():
# on allume la led de couleur rouge
led.set_colors(255, 0, 0)
else:
# on garde chaque canaux de la led à zero (intensité nulle)
led.set_colors(0, 0, 0)
Si la partie entre if
et les :
est évaluée comme vrai alors les instructions indentées qui suivent les :
seront exécutées. Sinon ce sont les instructions situées après le else:
qui le seront.
Aller plus loin¶
On a souvent l'habitude de représenter le cours du programme avec un organigramme de programmation :
graph LR
A[Début de la boucle infinie] --> B{A est appuyé et B pas appuyé};
B -->|Vrai| C[Allumer la LED en vert];
B -->|Faux| D{A pas appuyé et B appuyé};
D -->|Vrai| E[Allumer la LED en orange];
D -->|Faux| F{A et B appuyés};
F -->|Vrai| G[Allumer la LED en vert];
F -->|Faux| H[LED éteinte];
Si vous voulez en savoir plus sur les organigrammes, voici une chouette page Wikipédia.
Dans l'exemple ci-dessus, nous utilisons les fonctions du langage MicroPython if
et else
. Pour en savoir plus, nous vous invitons à lire la documentation MicroPython.