Niveau 02 — Conditions et boucles

Objectif du niveau

À la fin de ce niveau, tu sais écrire un programme qui décide (exécuter tel bloc si une condition est vraie, un autre sinon) et qui répète (refaire une action tant qu'une condition tient, ou pour chaque valeur d'une séquence). Tu sais combiner conditions et boucles pour construire de vrais petits programmes : menus, validation de saisie, compteurs, jeux de devinette. Tu sais aussi reconnaître et corriger les trois bugs de logique les plus courants : condition toujours vraie, boucle infinie, décalage d'une unité (off-by-one).

Prérequis

Durée indicative et avertissement honnête

2 à 3 semaines à raison de 30–60 min par jour.

Honnêtement : la syntaxe de ce niveau est simple, mais c'est ici que commence la logique, et c'est là que la plupart des débutants trébuchent pour la première fois. Écrire if x == 5: s'apprend en cinq minutes ; savoir POURQUOI ta boucle ne s'arrête jamais, ou pourquoi ta condition est toujours vraie, prend des heures de pratique. C'est normal de passer du temps à déboguer : le débogage EST l'apprentissage de ce niveau. Prévois plus de temps sur les leçons 02-2 (while) et 02-5 (erreurs de logique) que sur les autres.

Leçons

Chaque leçon suit le template 16 sections (lessons/TEMPLATE_LECON.md).

TitreNotions couvertesStatut
02-1if, elif, else — déciderBlocs conditionnels, indentation, comparaisons (==, !=, <, <=, >, >=), le piège == vs =, conditions imbriquées✅ disponible
02-2Opérateurs logiques — combiner des conditionsand, or, not, tables de vérité, priorité des opérateurs, valeurs « truthy »/« falsy », le piège if x == 1 or 2✅ disponible
02-3while — répéter tant queBoucle while, condition d'arrêt, compteurs, accumulateurs, validation de saisie, boucles infinies (les provoquer, les repérer, les stopper avec Ctrl+C)✅ disponible
02-4for et range — répéter pour chaqueBoucle for, range(stop), range(start, stop), range(start, stop, step), parcourir une chaîne, break et continue, boucles imbriquées✅ disponible
02-5Erreurs de logique — quand le programme tourne mais fait fauxConditions toujours vraies/toujours fausses, off-by-one, mauvaise indentation qui change le sens, else mal accroché, méthode de débogage avec print()✅ disponible

Solutions détaillées : solutions/ (une série par leçon).

Pièges et erreurs emblématiques du niveau

Mini-projets du niveau

Fiches détaillées dans /projects.

Critères de sortie

Commit de fin de niveau

git add lessons/level-02-conditions-boucles
git commit -m "exercises: complete level 02 (conditions and loops)"