Niveau 1 — Les bases

Objectifs du niveau

À la fin de ce niveau tu sais écrire un petit programme interactif complet : il affiche des informations, stocke des valeurs dans des variables bien nommées, demande des données à l'utilisateur avec input(), les convertit dans le bon type, calcule, et affiche un résultat propre en f-string. Tu sais aussi lire un traceback (NameError, TypeError, ValueError) sans paniquer.

C'est le socle de TOUT le reste : les niveaux 2 à 10 supposent ces réflexes acquis.

Les leçons

LeçonFichierContenuÉtat
01-1lecon-01-1-print-variables.mdprint(), variables, assignation, f-strings, NameErrorDisponible
01-2lecon-01-2-types-nombres-input-conversions.mdtypes int/float/str/bool, opérateurs, input(), conversions, TypeError/ValueErrorDisponible
01-3lecon-01-3-chaines-de-caracteres.mdindexation, slicing, len(), immutabilité, méthodes str, in/find/count, f-strings avancées, IndexError✅ Disponible

Durée indicative

1 semaine à raison d'une session par jour : 2 jours par leçon (lecture + exercices), 1 jour de mini-projets, 1 jour de révision (questions de révision + refaire de tête les exercices ratés).

Critères de sortie

On ne passe au niveau 2 que si TOUTES les cases sont cochées :

Erreurs emblématiques du niveau

Ces quatre erreurs, tu DOIS les avoir rencontrées (et comprises) avant le niveau 2 :

  1. NameError: name 'x' is not defined — variable utilisée avant d'être créée, ou faute de frappe (Python distingue Total et total).
  2. TypeError: can only concatenate str (not "int") to str — mélange texte + nombre, presque toujours un input() jamais converti.
  3. ValueError: invalid literal for int() with base 10: 'abc' — le type demandé est le bon, mais la VALEUR ne peut pas être convertie. Piège inclus : int("3.5") échoue aussi.
  4. Le bug silencieux — pas de traceback du tout : f oublié devant une f-string, ligne de calcul dont le résultat n'est pas assigné, 0.1 + 0.2 affiché brut. Le programme « marche » mais le résultat est faux : toujours vérifier la sortie.