Compter avec son doigt, sur la copie. Ça ne coûte rien, et ça sauve un point.
📊 En bref
- La question :
matieres = ['Maths', 'SVT', 'Histoire', 'Anglais'], que renvoielen(matieres)? - La bonne réponse : 4. Beaucoup répondent 3.
- L'erreur : on confond combien il y en a et le numéro du dernier
- En Python, les éléments sont numérotés à partir de 0 — le dernier des quatre porte le numéro 3
len()donne toujours un nombre d'éléments, jamais un numéro- La phrase à retenir : la longueur, c'est le dernier numéro plus 1
- Périmètre : du CM1 à la Terminale, en général comme en technique, plus les concours post-BAC, avec mode hors-ligne
Ce décryptage part d'une vraie question d'informatique de 3ème, au programme du Brevet d'Études du Premier Cycle (BEPC). Mengue, élève à Sangmélima, répond juste sans prendre son coup de pouce — et Thoth lui montre quand même le piège qui attend la moitié de sa classe.
▶️ La vidéo du décryptage et toute la série 3ème sont sur la playlist YouTube TurboClasse.
La question
Un élève écrit en Python la ligne suivante :
matieres = ['Maths', 'SVT', 'Histoire', 'Anglais']
Que renvoie len(matieres), c'est-à-dire le nombre d'éléments de cette liste ?
Si tu n'as jamais programmé, ne saute pas cette ligne. Tout va s'expliquer, mot par mot.
Sa copie
Mengue compte les quatre éléments un par un : 'Maths' fait 1, 'SVT' fait 2, 'Histoire' fait 3, 'Anglais' fait 4.
Elle répond 4. C'est juste.
Et elle l'a fait sans demander son coup de pouce. Elle le garde pour un jour où elle en aura vraiment besoin. C'est bien joué.
D'abord, ce qu'est une liste
En Python, une liste, c'est une suite de valeurs rangées dans l'ordre, sous un seul nom.
Ici, le nom c'est matieres. Les valeurs sont écrites entre crochets — les signes [ et ] —, séparées par des virgules. Et chaque mot est entre guillemets, parce que c'est comme ça qu'on écrit du texte en Python.
Une seule boîte, donc, avec quatre matières dedans.
Ensuite, ce que fait len()
len() est une fonction. Une fonction, c'est un petit outil tout prêt : tu lui donnes quelque chose, elle te rend un résultat.
Celle-là ne fait qu'une seule chose. Tu lui donnes ta liste, elle te rend le nombre d'éléments qui sont dedans. Rien d'autre.
Alors on compte :
| Élément | Compté |
|---|---|
| 'Maths' | 1 |
| 'SVT' | 2 |
| 'Histoire' | 3 |
| 'Anglais' | 4 |
len(matieres) vaut 4.
Compter les éléments, ou les numéroter : ce sont deux gestes différents.
Le piège : compter n'est pas numéroter
Maintenant, la partie sérieuse. Celle qui fait perdre le point à beaucoup de monde.
En Python, on numérote les éléments à partir de 0, pas de 1. Ce numéro porte un nom : l'indice. À ne pas confondre avec le coup de pouce que Thoth propose dans l'application — ici, c'est un mot d'informatique, et il désigne simplement le numéro d'une place dans la liste.
Regarde :
| Indice | Élément |
|---|---|
| 0 | 'Maths' |
| 1 | 'SVT' |
| 2 | 'Histoire' |
| 3 | 'Anglais' |
Le dernier indice vaut 3. Et beaucoup d'élèves répondent 3, tout simplement parce qu'ils ont vu ce chiffre quelque part. C'est l'erreur numéro un du chapitre.
Mais len() ne donne pas un indice. len() donne un nombre d'éléments. Et il y en a bien 4.
La phrase à retenir : la longueur, c'est toujours le dernier indice, plus 1.
Pourquoi on compte à partir de zéro
Ça embrouille tout le monde au début. Voici l'image qui règle le problème.
Vois l'indice comme un nombre de pas depuis le début de la liste. 'Maths' est au tout début : zéro pas à faire, donc indice 0. 'SVT' est un pas plus loin, indice 1. 'Histoire', deux pas. 'Anglais', trois pas.
Ce n'est pas un caprice de Python. Beaucoup de langages de programmation comptent comme ça. Retiens l'image des pas, et tu ne te tromperas plus.
Deux conséquences immédiates. matieres[3] te donne 'Anglais', le dernier. Et si tu écris matieres[4], Python s'arrête et affiche une erreur : ce numéro n'existe pas, la liste s'arrête à 3.
Les deux autres erreurs, plus banales
Oublier un élément. On compte trop vite, on saute une ligne, on répond 3 par accident. Compte avec ton doigt sur la copie. Ça ne coûte rien.
Répondre le numéro du dernier. C'est la même erreur que plus haut, mais faite tranquillement, sans se presser : on a bien vu que le dernier élément portait le numéro 3, alors on écrit 3. Un numéro n'est pas une quantité.
À quoi sert vraiment len()
À ne pas avoir à recompter.
Si le professeur ajoute 'Espagnol' à la liste, tu ne réécris rien : len(matieres) répondra 5 tout seul. C'est là toute la force de cet outil. Il compte au moment où on le lui demande, sur la liste telle qu'elle est à cet instant.
Et il ne sert pas qu'aux listes. Donne-lui un mot entre guillemets, il compte les caractères : len('Maths') vaut 5, parce que « Maths » a cinq lettres. Même outil, deux usages.
Dernier cas, celui que Mengue a demandé à Thoth : et si la liste est vide ? len() répond 0. Une liste vide, c'est deux crochets sans rien dedans. Elle existe, mais elle ne contient aucun élément. Ce n'est pas une erreur, c'est une vraie réponse — et c'est même très utile : quand tu veux savoir si une liste est vide, tu regardes si sa longueur vaut 0.
Ce que Thoth change
Mengue avait la bonne réponse. Un correcteur aurait mis le point et serait passé à la suite.
Thoth a validé, puis il a montré le piège quand même : les indices qui démarrent à 0, le 3 qui traîne et qui attire l'œil, la règle qui range tout. Comprendre pourquoi les autres se trompent, c'est ce qui t'empêche de te tromper le jour où tu seras fatigué.
À toi de jouer
- Compte avec ton doigt. Un élément, un doigt. Pas dans la tête.
- Un numéro n'est pas une quantité.
len()donne combien il y en a, jamais le numéro du dernier. - Longueur = dernier indice + 1. Apprends la phrase telle quelle.
C'est toute l'idée de TurboClasse : 2 fois plus vite, 2 fois plus fort, 2 fois meilleur. On ne révise pas plus longtemps, on révise mieux.
👉 Entraîne-toi maintenant sur l'informatique de la 3ème avec Thoth sur turboclasse.africa. Tu peux aussi passer par un revendeur TurboClasse près de chez toi.


