Démo : ouvre la boîte noire
Le même algorithme, deux fois. Sans espions, tu ne vois que le résultat final. Avec les espions, tu vois la variable total grandir à chaque tour : plus de mystère.
L'astuce du signe égal
Depuis Python 3.8, un = à la fin d'un f-string affiche le nom ET la valeur, tout seul :
| On écrit | Ça affiche |
|---|---|
print(f"{total = }") | total = 12 |
print(f"{n = }") | n = 7 |
print(f"{prix * 2 = }") | prix * 2 = 19.8 |
Plus besoin d'écrire print("total =", total) en se répétant. L'espace avant et après le = est conservé tel quel dans l'affichage.
La règle d'or : un espion, ça se retire
Un print espion est temporaire. Une fois le bug compris, on l'enlève (ou on le commente avec Ctrl + /) pour ne pas polluer la sortie finale.
Où placer un espion ? Juste avant la ligne qui te surprend, et juste après. Si la valeur est correcte avant mais fausse après, tu as trouvé la ligne coupable.
Astuce de pro : préfixe tes espions, par exemple print("ESPION", total). Tu les retrouves et les supprimes tous d'un coup avec un Rechercher/Remplacer sur le mot ESPION.