Le message rouge
Tu lances ton programme. Une grosse ligne rouge apparaît. Beaucoup de gens se disent : « J'ai tout cassé. »
C'est faux. Le message rouge est un ami. Il te dit ce qui ne va pas et où regarder.
Dans cette leçon, tu apprends à le lire, comme on lit le panneau d'un arrêt de bus.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Erreur | Python ne peut pas continuer. Il s'arrête et le dit. | Un message rouge |
| Message d'erreur | Le texte qui explique l'erreur : son type, sa ligne, une phrase. | NameError: name 'x' is not defined |
| Type d'erreur | Le mot en anglais qui nomme la famille de l'erreur. | SyntaxError |
| Numéro de ligne | La ligne du programme où Python a vu le problème. | line 2 |
| Faute de frappe | Une lettre oubliée ou changée en écrivant. | totale au lieu de total |
| Bogue | Un défaut dans un programme. | Un total faux |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Trois informations
Un message d'erreur donne toujours trois choses.
D'abord la ligne : le numéro dit où Python s'est arrêté. Ensuite le type : c'est un mot comme NameError. Enfin la phrase : elle explique, en anglais, ce qui ne va pas.
Lis le message de bas en haut. La dernière ligne est la plus utile.
À toi : un signe oublié
prix = 12
if prix > 10
print("C'est cher")
# Lance. Lis le message. Quelle ligne est indiquée ?
# Ajoute le signe qui manque à la fin de la ligne 2.
Exemple travaillé : les erreurs les plus courantes
| Type | Ce que ça veut dire | Cause fréquente |
|---|---|---|
| SyntaxError | Python ne comprend pas la phrase | Un : oublié, une parenthèse non fermée |
| NameError | Ce nom n'existe pas | Une faute de frappe, une variable pas encore créée |
| TypeError | On mélange deux sortes de valeurs | Un texte plus un nombre |
| IndexError | Cette place n'existe pas dans la liste | Un indice trop grand |
| ZeroDivisionError | On divise par zéro | Un diviseur qui vaut 0 |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
À toi : un nom qui n'existe pas
buts_lina = 3
buts_karim = 5
total = buts_lina + buts_karim
print("Total :", totale)
# Lance. Python dit qu'un nom n'existe pas. Lequel ?
# Corrige la faute de frappe.
Contrôle rapide
À toi de jouer
Contrôle rapide
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
À toi : un texte et un nombre
prenom = "Lina"
age = 16
print("Je m'appelle " + prenom)
print("J'ai " + age + " ans")
# Lance. Que veut dire le message ?
# Corrige avec str(age).
Que faire devant une erreur
Ne change pas dix choses au hasard. Fais ceci, dans l'ordre.
Lis la dernière ligne. Va à la ligne indiquée. Cherche une faute de frappe, un signe oublié, un mélange texte et nombre. Corrige une seule chose, puis relance.
Si un autre message apparaît, c'est bon signe : tu avances.