Le téléphone vibrait sur la table en formica. Un seul message : "Ça tourne en rond. Règle-le." Je connaissais ce sentiment. Quand une affaire tourne en boucle, quand les conditions pour en sortir ne sont jamais remplies. C'est là qu'il faut reprendre le contrôle. Imposer sa logique. Coder la sortie.
Conditions : if, elif, else
La prise de décision. Le point de non-retour.
if : La porte d'entrée. Si la condition est vraie, on passe. Sinon, on reste dehors.
if target_isolated:
approach() # L'opportunité se présente
elif : Le plan B. Si la première porte est fermée, on essaie la suivante.
if front_door_guarded:
go_to_roof()
elif back_alley_clear:
use_service_entrance()
else : La sortie de secours. Quand tout le reste a échoué, on prend ce qui reste.
if escape_car_ready:
take_it()
elif motorcycle_available:
take_it()
else:
disappear_in_crowd() # Dernière option
La vie n'est qu'une suite de conditions imbriquées. Chaque if est un carrefour. Chaque elif un détour. Chaque else une impasse où il faut improviser.
Boucles : while, for
L'art de la répétition. Parfois il faut insister. Parfois il faut parcourir méthodiquement.
while : Tant que la condition est vraie, on continue. Un interrogatoire. Une surveillance.
while suspect_resists:
apply_pressure() # On ne lâche rien
Danger : la boucle infinie. L'engrenage qui ne s'arrête plus. Il faut toujours prévoir une sortie.
for : Pour chaque élément d'une séquence, on agit. Méthodique. Clinique.
for witness in witness_list:
persuade(witness) # Un par un, discrètement
On parcourt les dossiers, les noms, les adresses. On ne laisse rien au hasard. Chaque élément reçoit son attention.
Instructions break, continue, pass
Les modulations. Les petits ajustements qui changent tout.
break : Casser la boucle. Sortir brutalement. Quand quelque chose ne tourne plus rond.
for guard in patrol_schedule:
if guard_alerted:
abort_mission()
break # On sort immédiatement, pas de questions
continue : Passer à l'itération suivante. Ignorer cet élément. Faire comme s'il n'existait pas.
for file in sensitive_data:
if file.encrypted:
continue # Trop long à casser, on passe au suivant
copy(file) # On prend ce qu'on peut
pass : L'instruction qui ne fait rien. Une place réservée. Un blanc dans la partition.
if backup_arrives:
pass # À définir plus tard, pour l'instant on ignore
Parfois, ne rien faire est la meilleure action. pass maintient la syntaxe propre, tout en laissant une possibilité ouverte.
J'ai éteint mon téléphone. Le message tournait dans ma tête. "Ça tourne en rond."
Je me suis souvenu d'un vieux code :
while situation_stagnant:
for option in available_options:
if option_viable(option):
execute(option)
break # On sort dès qu'on agit
else:
change_parameters() # Si aucune option ne marche, on change les règles
Les structures de contrôle. Ce ne sont pas que des lignes de code. Ce sont les schémas de pensée. Les patterns de l'action. Savoir quand insister (while), quand parcourir méthodiquement (for), quand décider (if), et surtout quand tout arrêter (break) ou faire semblant de ne pas voir (pass).
C'est avec ça qu'on reprend le contrôle. Quand tout tourne en rond, il suffit d'ajouter une condition de sortie. Ou de tout casser pour recommencer.
Contrôler le flux, ou se noyer dedans.