🔁

Boucles Intermédiaire

🔵 Niveau 1 · BBC micro:bit · Leçon 5/8

🎯 Objectifs

🛠️ Matériel nécessaire

🔲 BBC micro:bit v2 🔌 Câble USB

📖 Cours

La boucle while avec condition

On connaît déjà while True: (boucle infinie). Mais on peut aussi utiliser while avec une condition qui s'arrête quand elle devient fausse :

1.while.py
from microbit import * nombre = 0 while nombre < 8: display.scroll(nombre) nombre = nombre + 1 display.scroll('fin')

Ce programme affiche 0, 1, 2, 3, 4, 5, 6, 7 puis "fin". La boucle s'arrête quand nombre atteint 8 (car 8 n'est pas < 8).

💡
Remarque que display.scroll('fin') est en dehors de la boucle (pas d'indentation). Il ne s'exécute qu'une fois, après que la boucle est terminée.

La boucle for et range()

La boucle for répète un nombre précis de fois. range(5) génère les nombres 0, 1, 2, 3, 4 :

2.for.py
from microbit import * for a in range(5): display.set_pixel(a, 0, 9) sleep(500) sleep(1000) display.clear() for b in range(5): display.set_pixel(0, b, 9) sleep(500) sleep(1000) display.clear() for y in range(5): for x in range(5): display.set_pixel(x, y, 9) sleep(500) sleep(1000) display.clear()

Explications :

Boucles imbriquées — comment ça marche ?

Explication
# Pour y=0 : x prend les valeurs 0,1,2,3,4 (ligne 0) # Pour y=1 : x prend les valeurs 0,1,2,3,4 (ligne 1) # Pour y=2 : x prend les valeurs 0,1,2,3,4 (ligne 2) # ...etc. # Au total : 5 × 5 = 25 LEDs allumées ! for y in range(5): # y = 0, 1, 2, 3, 4 for x in range(5): # pour chaque y, x = 0, 1, 2, 3, 4 display.set_pixel(x, y, 9)

range() — les variantes

range() variantes
range(5) # 0, 1, 2, 3, 4 range(2, 8) # 2, 3, 4, 5, 6, 7 range(0, 10, 2) # 0, 2, 4, 6, 8 (par pas de 2) range(5, 0, -1) # 5, 4, 3, 2, 1 (compte à rebours !)

✏️ Exercices

Exercice 1

Compte à rebours

Crée un compte à rebours de 9 à 0. Affiche chaque nombre pendant 1 seconde, puis affiche "GO!" à la fin. Utilise une boucle for avec range(9, -1, -1).

Exercice 2

Remplissage progressif

Utilise des boucles imbriquées pour allumer les LEDs ligne par ligne, de haut en bas. Chaque LED s'allume avec un délai de 100ms. À la fin, éteins tout et recommence !

Exercice 3 — Défi

Chenille lumineuse

Crée une chenille : une LED se déplace de gauche à droite sur la ligne du milieu. Quand elle arrive au bout, elle repart de gauche. Chaque LED derrière la tête s'éteint quand la tête avance.

🧠 À retenir

  • while condition: — répète tant que la condition est vraie
  • while True: — boucle infinie
  • for variable in range(n): — répète n fois, variable prend les valeurs 0 à n-1
  • range(début, fin, pas) — génère une séquence de nombres
  • Les boucles imbriquées permettent de parcourir des grilles 2D
  • L'indentation (les espaces) détermine ce qui est dans la boucle ou en dehors
← Leçon 4 — Conditions Leçon 6 — Listes & Fonctions →