Python : premiers programmes
Tout ce dont vous avez besoin pour ce module, dans un seul document. Cochez au fur et à mesure.
Comment utiliser ce document
- À gauche, une partie à la fois. Cliquez pour changer de partie.
- Les boutons bleus A1 ouvrent une annexe dans le panneau de droite.
- Vos réponses et vos cases cochées sont gardées dans ce navigateur.
Ce qu'il faut savoir avant de commencer
Ce qu'il faut savoir avant de commencer. Lisez-le si vous avez un doute. Environ 10 minutes.
Aucun prérequis en programmation : on part de zéro. Trois rappels vous aideront à vous servir du poste.
C'est quoi l'extension d'un fichier ?
C'est la fin du nom du fichier, après le point. Elle dit quel genre de fichier c'est.
Exemple : photo.jpg est une image, ex01.py est un programme Python.
C'est quoi un terminal ?
Un terminal est une fenêtre où l'on tape des commandes au clavier. On tape la commande, puis on appuie sur Entrée. La réponse s'affiche juste en dessous.
Sous Windows, le terminal s'appelle PowerShell. VS Code en ouvre un en bas de sa fenêtre.
Comment écrit-on un nombre à virgule ?
En programmation, la virgule s'écrit avec un point. On écrit 12.5, pas 12,5.
La virgule sert à autre chose : séparer deux valeurs.
Vérifiez-vous
- 1. Quelle est l'extension du fichier
tarifs.py? - 2. Vous avez tapé une commande dans le terminal. Sur quelle touche appuyez-vous pour la lancer ?
- 3. Comment écrit-on vingt-neuf euros quatre-vingt-dix dans un programme ?
Voir les réponses
.py: c'est un programme Python.- Sur la touche Entrée.
29.90, avec un point.
Variables, types et premières erreurs
COURS-U6-S1-01
Léa Fournier est animatrice bénévole à MaisonDesJeux, une association de jeux de société. Chaque mercredi, elle calcule à la main les cotisations des nouveaux adhérents.
Bruno, un autre bénévole, lui a écrit un petit programme pour faire le calcul. Léa le lance. L'écran se remplit de lignes rouges en anglais, et le programme s'arrête.
Léa vous appelle : « Le programme de Bruno est cassé. Tu peux regarder ? »
À la fin de la séance, vous saurez écrire et lancer un petit programme en Python. Vous saurez aussi lire un message d'erreur pour trouver la ligne qui ne va pas.
Le plan de la séance
- Écrire et lancer un programme.
- Ranger des valeurs : variables et types.
- Calculer, comparer, mettre en forme.
- Lire un message d'erreur.
La question de départ
Votre GPS vous dit : « Faites demi-tour. » Vous l'ignorez. Il ne plante pas : il recalcule. Le programme de Bruno, lui, s'arrête net. Pourquoi ?
Capsule 1 sur 4Écrire et lancer un programme
Avant de réparer le programme de Bruno, il faut savoir comment un programme marche. Que se passe-t-il quand on le lance ?
Un programme est une liste d'instructions, écrite dans un fichier texte. Python ne lit pas ce fichier tout seul : il a besoin d'un INTERPRÉTEUR. C'est le logiciel qui lit le programme et exécute ses instructions, une ligne après l'autre.
Pensez à une recette de cuisine. La recette ne fait rien toute seule. Il faut quelqu'un qui lit chaque étape, dans l'ordre, et qui la fait.
Pour écrire le programme, on utilise un ENVIRONNEMENT DE DÉVELOPPEMENT, qu'on appelle aussi IDE, pour Integrated Development Environment. C'est un éditeur de texte fait pour le code : il colore les mots, il signale les fautes, et il ouvre un terminal. Ici, on utilise VS Code.
Voici le chemin d'un programme :
- Écrire : on tape les instructions dans un fichier
.py, dans VS Code. - Enregistrer : Ctrl+S. Un fichier non enregistré n'est pas celui que Python lit.
- Lancer : dans le terminal, on tape
pythonsuivi du nom du fichier. - Lire : le résultat, ou une erreur, s'affiche dans le terminal.
Deux instructions servent dès le début. print() affiche à l'écran : c'est une sortie. input() pose une question et attend la réponse au clavier : c'est une entrée.
nom = input("Votre prénom : ")
print("Bonjour", nom)
On peut aussi lancer Python seul, sans fichier : c'est le mode interactif. Python affiche >>>, on tape une ligne, il répond tout de suite.
C'est pratique pour essayer. Mais rien n'est gardé quand on ferme.
On le fait ensemble — Le premier programme de Léa
1. Léa veut afficher « Bonne partie ! ». Quelle instruction ?
2. Elle l'écrit dans accueil.py. Que fait-elle avant de lancer ?
3. Que tape-t-elle dans le terminal ?
4. Elle veut que le programme demande le prénom du joueur. Quelle instruction ?
| Exemple | Pourquoi | |
|---|---|---|
| ✔ | Je modifie, j'enregistre, puis je relance. | Python lit le fichier tel qu'il est enregistré sur le disque. |
| ✘ | « J'ai corrigé, mais l'erreur est toujours là. » sans avoir enregistré | Python a relu l'ancienne version du fichier. |
| ✘ | Taper print("Bonjour") dans le terminal PowerShell, sans lancer Python |
PowerShell ne parle pas Python. Il faut un fichier lancé avec python, ou le mode interactif. |
Checkpoint
À l'oral, 3 minutes. Chacun note sa réponse sur sa feuille, puis on corrige.
1. Quel est le rôle de l'interpréteur ?
2. Quelle instruction affiche, et quelle instruction lit le clavier ?
Capsule 2 sur 4Ranger des valeurs : variables et types
On sait lancer un programme. Mais pour calculer une cotisation, il faut garder des valeurs : un prix, un âge, un nom. Où les range-t-on ?
On les range dans des VARIABLES. Une variable est un nom posé sur une valeur, comme une étiquette sur une boîte.
On l'écrit avec le signe égal : prix = 25. Ce signe ne veut pas dire « égal » comme en maths. Il veut dire « range 25 dans la boîte nommée prix ».
Chaque valeur a un TYPE : sa nature. Python ne traite pas de la même façon un texte et un nombre.
| Type | Ce que c'est | Exemple |
|---|---|---|
int |
un nombre entier | 4, 340 |
float |
un nombre à virgule, écrit avec un point | 12.5, 29.90 |
str |
du texte, entre guillemets | "Catane", "17" |
bool |
vrai ou faux | True, False |
La fonction type() donne le type d'une valeur : type(12.5) affiche <class 'float'>.
Attention au piège du début : input() rend toujours du texte. Si Léa tape 17, le programme reçoit "17", entre guillemets. Pour calculer, il faut une CONVERSION : changer le type d'une valeur.
int("17")donne le nombre entier17.float("29.90")donne le nombre à virgule29.9.str(340)donne le texte"340".
Sans conversion, attention : entre deux textes, + colle. "3" + "4" donne "34".
Instant histoire — 1996 : Ariane 5 et le nombre trop grand
Le 4 juin 1996, la fusée Ariane 5 explose 40 secondes après son premier décollage.
Un programme repris d'Ariane 4 range une vitesse dans une variable trop petite. Ariane 5 va plus vite : le nombre ne tient plus. L'ordinateur de bord reçoit des valeurs absurdes.
Le programme marchait sur Ariane 4. Pourquoi a-t-il échoué sur Ariane 5 ?
On le fait ensemble — Deux tables de joueurs
Le programme demande les joueurs de deux tables, puis les additionne : t1 = input("Table 1 : "), t2 = input("Table 2 : "), print(t1 + t2). Léa tape 3, puis 4.
1. Quel est le type de t1 ?
2. Qu'affiche le programme ?
3. Comment corriger ?
| Exemple | Pourquoi | |
|---|---|---|
| ✔ | age = int(input("Votre âge : ")) |
La saisie est convertie tout de suite en nombre entier. |
| ✘ | int("29.90") |
Le texte contient un point : ce n'est pas un entier. Il faut float(). |
| ✘ | prix = 12,5 |
La virgule ne fait pas un nombre décimal. Il faut écrire 12.5. |
Checkpoint
À l'oral, 3 minutes. Chacun note sa réponse sur sa feuille, puis on corrige.
1. Donnez le type de chaque valeur : 25, "25", 25.0.
2. Pourquoi faut-il convertir ce que rend input() avant de calculer ?
Capsule 3 sur 4Calculer, comparer, mettre en forme
On sait garder des valeurs. Comment calculer avec elles, puis afficher un résultat propre ?
On utilise des OPÉRATEURS : des signes qui font un calcul ou une comparaison entre deux valeurs.
| Opérateur | Ce qu'il fait | Exemple | Résultat |
|---|---|---|---|
+, -, * |
addition, soustraction, multiplication | 4 * 25 |
100 |
/ |
division, toujours à virgule | 25 / 2 |
12.5 |
// |
division entière : combien de fois | 17 // 4 |
4 |
% |
le reste de la division entière | 17 % 4 |
1 |
==, != |
égal, différent | 16 == 18 |
False |
<, <=, >, >= |
plus petit, plus grand | 16 < 18 |
True |
Une comparaison rend toujours True ou False. Attention : = range une valeur, == compare deux valeurs.
Pour afficher un résultat propre, on utilise une chaîne formatée : un texte précédé de la lettre f. Dans ce texte, chaque { } est remplacée par une valeur.
- On écrit
fdevant les guillemets. - On met le nom de la variable entre accolades :
{prix}. - On ajoute la mise en forme après deux-points :
{prix:.2f}affiche deux chiffres après le point.
On le fait ensemble — Les tables du tournoi
17 joueurs arrivent. Chaque table accueille 4 joueurs.
1. Combien de tables complètes ? Quel calcul ?
2. Combien de joueurs restent en attente ?
3. Une table a-t-elle plus de 3 joueurs ?
4. Écrivez l'affichage « 4 tables, 1 en attente » avec une chaîne formatée.
| Exemple | Pourquoi | |
|---|---|---|
| ✔ | f"Total : {total:.2f} €" affiche Total : 12.50 € |
La valeur est mise en forme avec deux chiffres après le point. |
| ✘ | print(age = 18) pour savoir si l'âge vaut 18 |
= range une valeur. Pour comparer, il faut == : print(age == 18). |
| ✘ | "Total : " + total avec total entier |
On ne colle pas un texte et un nombre. Utilisez une chaîne formatée. |
Checkpoint
À l'oral, 3 minutes. Chacun note sa réponse sur sa feuille, puis on corrige.
1. Que donnent 25 / 2, 25 // 2 et 25 % 2 ?
2. Avec prix = 6, qu'affiche print(f"{prix:.2f} €") ?
Capsule 4 sur 4Lire un message d'erreur
Revenons aux lignes rouges de Léa. Elles font peur. Pourtant, elles disent exactement où est le problème.
Il y a deux grandes familles d'erreurs. Une ERREUR DE SYNTAXE est une faute d'écriture : une parenthèse oubliée, un guillemet manquant. Python la voit en lisant le fichier, avant de commencer.
Rien ne s'exécute, même pas la première ligne.
Une ERREUR D'EXÉCUTION arrive pendant que le programme tourne. Chaque ligne est bien écrite, mais l'une d'elles ne peut pas se faire : un nom inconnu, un texte qu'on ajoute à un nombre.
Les lignes d'avant ont déjà tourné. Le programme s'arrête net à la ligne fautive.
C'est comme une lettre. Une faute d'orthographe se voit avant de l'envoyer. Une mauvaise adresse ne se voit qu'au moment où le facteur ne trouve pas la maison.
Un message d'erreur se lit toujours de la même façon :
- La dernière ligne : le type d'erreur, puis le message. Par exemple
TypeError, puis l'explication. - La ligne
File: le nom du fichier et le numéro de la ligne fautive. - La ligne recopiée : le code exact qui a échoué, souligné par des
^ou des~. - On corrige cette ligne, on enregistre, on relance.
| Type d'erreur | Famille | Ce qu'il veut dire |
|---|---|---|
SyntaxError |
syntaxe | le code est mal écrit |
NameError |
exécution | ce nom de variable n'existe pas |
TypeError |
exécution | cette opération ne marche pas avec ces types |
ValueError |
exécution | la valeur ne convient pas, comme int("douze") |
Instant histoire — 1947 : le premier « bug » était un vrai insecte
En 1947, à l'université Harvard, l'équipe de Grace Hopper cherche pourquoi un calculateur fait des erreurs.
Elle trouve un papillon de nuit coincé dans une pièce de la machine. L'équipe le colle dans son cahier de bord, avec la mention « premier vrai cas de bug trouvé ».
Pourquoi l'équipe a-t-elle noté la panne dans un cahier ?
On le fait ensemble — Le message du programme de Bruno
Le message : File "cotisation.py", line 5, puis la ligne print("Total : " + total), puis TypeError: can only concatenate str (not "int") to str.
1. Quel est le type d'erreur ?
2. Quelle ligne est fautive ?
3. Que veut dire le message ?
4. Comment corriger ?
| Exemple | Pourquoi | |
|---|---|---|
| ✔ | Je lis la dernière ligne, puis le numéro de ligne. | Le type et le message disent quoi chercher. Le numéro dit où. |
| ✘ | « Il y a une erreur, je recopie tout le programme. » | Le message donne la ligne : on corrige seulement celle-là. |
| ✘ | « La ligne indiquée est toujours la ligne fautive. » | Pour une parenthèse jamais fermée, Python montre la ligne où elle s'ouvre. La faute peut aussi venir d'une ligne au-dessus. |
Checkpoint
À l'oral, 3 minutes. Chacun note sa réponse sur sa feuille, puis on corrige.
1. Un programme n'affiche rien et montre SyntaxError. Pourquoi la première ligne n'a-t-elle pas tourné ?
2. Dans un message d'erreur, où lit-on le numéro de la ligne fautive ?
Ce qu'on retient
Si vous ne devez retenir que trois choses
1. Écrivez, enregistrez, lancez avec python fichier.py, puis lisez le terminal.
2. Convertissez ce que rend input() avant de calculer : int() pour un entier, float() pour un décimal.
3. Lisez une erreur par le bas : le type, le message, puis le numéro de ligne.
Revenons à Léa. Les lignes rouges n'étaient pas une panne mystérieuse. Elles disaient le type d'erreur, le fichier et la ligne.
Vous savez maintenant les lire. Vous corrigez une seule ligne, vous enregistrez, vous relancez : le calcul des cotisations marche.
Variables, types et premières erreurs
COURS-U6-S1-01
L'essentiel
- Interpréteur : le logiciel Python qui lit le programme et l'exécute, ligne après ligne.
- Variable : un nom posé sur une valeur.
prix = 25range 25 sous le nomprix. - Type : la nature d'une valeur :
int,float,str,bool. - Conversion :
input()rend toujours du texte. On le convertit avant de calculer. - Erreur : de syntaxe, rien ne tourne. D'exécution, le programme s'arrête à la ligne fautive.
Les mots à connaître
| Mot | En clair |
|---|---|
| Environnement de développement | L'éditeur fait pour le code, ici VS Code. |
print() |
Affiche à l'écran : une sortie. |
input() |
Lit le clavier : une entrée. Rend toujours un str. |
int(), float(), str() |
Convertissent en entier, en décimal, en texte. |
| Opérateur | Un signe qui calcule ou compare : +, //, %, ==, <. |
| Chaîne formatée | f"Total : {total:.2f} €" : les { } sont remplacées par les valeurs. |
Les types
| Type | Exemple | Pour |
|---|---|---|
int |
340 |
compter |
float |
12.5 |
un prix, une moyenne |
str |
"Catane" |
du texte |
bool |
True |
le résultat d'une comparaison |
La méthode pour une erreur
- Lisez la dernière ligne : le type d'erreur et le message.
- Trouvez la ligne
File: le fichier et le numéro de ligne. - Regardez la ligne recopiée et ce qui est souligné.
- Corrigez cette ligne, enregistrez, relancez.
Un exemple concret
Le programme de Léa calcule une cotisation.
age = input("Votre âge : ")
print("Dans un an :", age + 1)
TypeError: can only concatenate str (not "int") to str
| Étape | Ce qu'on fait | Résultat |
|---|---|---|
| 1 | Type d'erreur | TypeError : erreur d'exécution, de type |
| 2 | Ligne fautive | la ligne 2 : age + 1 |
| 3 | Cause | age est un str, rendu par input() |
| 4 | Correction | age = int(input("Votre âge : ")) |
Conclusion : avec la conversion, Léa tape 17 et le programme affiche Dans un an : 18.
Les pièges
- ✘ Oublier d'enregistrer → Python relance l'ancienne version.
- ✘ Calculer avec
input()sans convertir →"3" + "4"donne"34". - ✘ Écrire
12,5→ en Python, on écrit12.5. - ✘ Confondre
=et==→=range,==compare.
Douze micro-exercices et trois pannes
LABO-U6-S1-01
Contexte — Vous êtes prestataire bénévole chez MaisonDesJeux, une association de jeux de société. Léa Fournier, animatrice, veut de petits programmes pour les soirées : accueil, tables, tarifs.
Avant d'écrire pour elle, vous vous entraînez sur douze exercices courts. Puis vous réparez trois programmes en panne, écrits par Bruno Sanchez, un bénévole.
Règle IA de la séance
Scénario 1 : pas d'IA pendant ce labo. Vous avez les annexes, la documentation de Python et le web classique.
Si vous avez un doute, demandez au formateur ou à votre binôme.
À la fin de ce labo, vous saurez écrire et lancer un programme court, convertir et mettre en forme des valeurs. Vous saurez aussi lire un message d'erreur et corriger la ligne fautive.
Comment ça se valide — à chaque point de contrôle, vous montrez votre résultat au formateur. Il valide, puis vous passez à la suite.
Les mots de la séance
| Mot | Ce que ça veut dire |
|---|---|
| Interpréteur | Le logiciel Python qui lit le programme et l'exécute, ligne après ligne. |
| Variable | Un nom posé sur une valeur : prix = 25. |
| Type | La nature d'une valeur : int entier, float décimal, str texte, bool vrai ou faux. |
| Conversion | Changer le type d'une valeur : int("17") donne 17. |
| Chaîne formatée | Un texte précédé de f, où les { } sont remplacées par des valeurs. |
| Message d'erreur | Les lignes que Python affiche quand il s'arrête : le fichier, la ligne, le type d'erreur. |
Ce dont vous avez besoin
- Votre poste Windows, avec Python, VS Code et PowerShell.
- Annexe : le dossier de travail, dans le fichier
A1_premiers_pas.zip. - Annexe : les douze énoncés.
- Annexe : un extrait de la documentation de Python.
- Annexe : les trois programmes en panne.
En binôme — le pilote tape, le lecteur lit les énoncés et les annexes à voix haute, et vérifie chaque résultat. On inverse à la partie C.
Le plan du labo
| Partie | Étapes | Ce que vous obtenez | Temps |
|---|---|---|---|
| A — Démarrer | 1 à 5 | un premier programme qui tourne | 25 min |
| B — Variables, calculs, conversions | 6 à 11 | les exercices 2 à 7 | 35 min |
| C — Comparer et mettre en forme | 12 à 17 | les exercices 8 à 12, et les conversions expliquées | 30 min |
| D — Trois pannes | 18 à 22 | trois programmes réparés, chaque message expliqué | 30 min |
PARTIE A — Démarrer
Étapes 1 à 5, environ 25 min. À la fin, votre premier programme s'affiche dans le terminal.
Besoin d'un rappel ? Revoir le cours : « Écrire et lancer un programme ».
Installer le dossier de travail
- Téléchargez
A1_premiers_pas.zipdepuis l'annexe . - Faites un clic droit sur le fichier, puis « Extraire tout ». Avec « Parcourir », choisissez votre dossier « Documents ».
Vous devez voir : un dossier premiers_pas dans « Documents ». Il contient douze fichiers, de ex01.py à ex12.py, et un dossier pannes.
Si vous voyez un dossier premiers_pas dans un autre dossier premiers_pas : utilisez celui qui contient directement ex01.py.
Ouvrir le dossier dans VS Code
- Ouvrez VS Code. Menu « Fichier », puis « Ouvrir le dossier ». Choisissez
Documents\premiers_pas. - Ouvrez un terminal : menu « Terminal », puis « Nouveau terminal ». Tapez :
ls
Vous devez voir : le dossier pannes et les douze fichiers ex01.py à ex12.py, dans la dernière colonne. Le terminal est dans le dossier premiers_pas.
Vérifier Python
- Dans le terminal, tapez :
python --version
Vous devez voir : Python 3. suivi d'un numéro, par exemple Python 3.12.6.
Si vous voyez « python n'est pas reconnu », ou si une fenêtre du Microsoft Store s'ouvre : tapez py à la place de python. Exemple : py ex01.py.
Essayer le mode interactif
- Tapez
pythonseul, puis Entrée. Python affiche deux lignes d'information, puis>>>. - Tapez ces deux lignes, chacune suivie d'Entrée :
2 + 3
print("Bonne partie !")
- Tapez
exit()pour revenir au terminal.
Vous devez voir : 5, puis Bonne partie !. Après exit(), l'invite redevient PS C:\...\premiers_pas>.
Écrire l'exercice 1
Voici le premier exercice, fait en entier. Les suivants se font de la même façon.
- Ouvrez
ex01.py. Sous les deux lignes qui commencent par#, que Python ignore, tapez :
print("Bienvenue à MaisonDesJeux !")
print("Ouvert le mercredi, le vendredi et le samedi.")
- Enregistrez avec Ctrl+S, puis tapez dans le terminal :
python ex01.py
Vous devez voir :
Bienvenue à MaisonDesJeux !
Ouvert le mercredi, le vendredi et le samedi.
Si vous voyez l'ancien résultat après une modification : le fichier n'est pas enregistré. Un petit rond sur l'onglet du fichier le signale. Faites Ctrl+S.
POINT DE CONTRÔLE A
- Montrez au formateur l'exercice 1 qui tourne dans le terminal.
- Le formateur a validé. Passez à la partie B.
PARTIE B — Variables, calculs, conversions
Étapes 6 à 11, environ 35 min. À la fin, les exercices 2 à 7 tournent.
Besoin d'un rappel ? Revoir le cours : « Ranger des valeurs : variables et types ».
Pour chaque exercice : lisez son énoncé dans l'annexe , écrivez le code dans le fichier, enregistrez, lancez. L'annexe donne ce que vous devez voir.
Exercice 2 : trois variables et leur type
- Écrivez l'exercice 2 dans
ex02.py, puis lancezpython ex02.py.
Vous devez voir : Catane 4 75, puis trois lignes qui commencent par <class.
Exercice 3 : le prix de quatre adhésions
- Écrivez l'exercice 3 dans
ex03.py, puis lancez-le.
Vous devez voir : Total : 100, puis Demi-tarif : 12.5, puis <class 'float'>.
Pourquoi ? 25 est un int. Pourquoi 25 / 2 donne-t-il un float ?
Votre réponse :
Exercice 4 : l'âge dans un an
L'exercice 4 est la première conversion. On le fait en deux temps : d'abord sans conversion, pour voir l'erreur.
- Dans
ex04.py, tapez cette première version, enregistrez et lancez. Tapez 17 quand Python demande l'âge.
age = input("Votre âge : ")
print("Dans un an, vous aurez", age + 1, "ans")
- Notez le type d'erreur de la dernière ligne :
- Remplacez la première ligne par
age = int(input("Votre âge : ")). Enregistrez et relancez avec 17.
Vous devez voir : Dans un an, vous aurez 18 ans.
Exercice 5 : les joueurs de deux tables
- Écrivez l'exercice 5 d'abord sans conversion, comme à l'étape 8. Lancez-le avec 3, puis 4.
- Notez ce qu'il affiche :
- Ajoutez les conversions. Relancez avec 3, puis 4.
Vous devez voir : Joueurs en tout : 7 avec les conversions.
Exercice 6 : le prix de deux exemplaires
- Écrivez l'exercice 6 sans conversion. Lancez-le avec
29.90. Notez le résultat : - Essayez avec
int(). Lancez avec29.90. Notez le type d'erreur : - Dans l'annexe , partie « Convertir », trouvez la fonction qui convertit
"29.90"en nombre. Utilisez-la, puis relancez.
Vous devez voir : Deux exemplaires : 59.8.
Pourquoi ? Pourquoi int("29.90") refuse-t-il de convertir, alors que int("17") marche ?
Votre réponse :
Exercice 7 : répartir les joueurs en tables
- Écrivez l'exercice 7 dans
ex07.py, avec les opérateurs//et%. Lancez-le.
Vous devez voir : 4 tables complètes, 1 joueur en attente.
POINT DE CONTRÔLE B
- Montrez au formateur les exercices 2 à 7 qui tournent. Répondez à sa question sur l'un d'eux.
- Le formateur a validé. Inversez les rôles, puis passez à la partie C.
PARTIE C — Comparer et mettre en forme
Étapes 12 à 17, environ 30 min. À la fin, les douze exercices tournent, et vous savez expliquer les trois conversions.
Besoin d'un rappel ? Revoir le cours : « Calculer, comparer, mettre en forme ».
Exercices 8 et 9 : comparer
- Écrivez l'exercice 8 dans
ex08.py, puis lancez-le. - Écrivez l'exercice 9 dans
ex09.py. Lancez-le deux fois : avecMDJ2026, puis avecmdj2026.
Vous devez voir : True puis False pour l'exercice 8. Pour l'exercice 9, True, puis False avec les minuscules.
Expliquer les trois conversions
Revenez sur les exercices 4, 5 et 6. Pour chacun, expliquez ce qui s'est passé sans conversion.
- Remplissez la grille. La première ligne est faite pour vous.
| Exercice | Sans conversion, j'ai obtenu | Pourquoi | La conversion qui corrige |
|---|---|---|---|
| 4 | TypeError |
age est un texte. On ne peut pas ajouter le nombre 1 à un texte. |
int() |
| 5 | |||
| 6 |
Vous devez avoir : trois résultats différents : une erreur, deux textes collés en 34, un texte répété.
Trouver dans la doc
Les exercices 11 et 12 imposent une mise en forme. L'annexe donne les codes à écrire après les deux-points, dans les accolades.
- Ouvrez l'annexe , partie « Mettre en forme ».
- Trouvez le code pour afficher deux chiffres après le point. Notez-le :
- Trouvez le code pour caler un texte à gauche sur 10 caractères. Notez-le :
- Trouvez le code pour caler un prix à droite sur 8 caractères, avec deux chiffres après le point. Notez-le :
Vous devez avoir : trois codes courts, à écrire après les deux-points dans les accolades.
Exercice 10 : la fiche d'un jeu
- Écrivez l'exercice 10 avec une chaîne formatée. Lancez-le.
Vous devez voir : Jeu : Catane | Joueurs : 3 à 4 | Durée : 75 min, au caractère près.
Exercice 11 : le demi-tarif
- Écrivez l'exercice 11. Lancez-le.
Vous devez voir : Demi-tarif adulte : 12.50 €, puis Demi-tarif jeune : 6.00 €.
Exercice 12 : le tableau des tarifs
- Écrivez l'exercice 12, avec les codes de l'étape 14. Lancez-le.
Vous devez voir : trois lignes dont les prix sont alignés à droite, comme le gabarit de l'annexe .
Pourquoi ? Pourquoi une chaîne formatée est-elle plus sûre que "Total : " + total pour afficher un nombre ?
Votre réponse :
POINT DE CONTRÔLE C
- Montrez au formateur votre grille de l'étape 13 et les exercices 10 à 12.
- Le formateur a validé. Passez à la partie D.
PARTIE D — Trois pannes
Étapes 18 à 22, environ 30 min. À la fin, les trois programmes de Bruno marchent, et vous savez dire ce que voulait dire chaque message.
Besoin d'un rappel ? Revoir le cours : « Lire un message d'erreur ».
Les trois programmes sont dans le dossier pannes. Leur code est aussi dans l'annexe . Chacun contient une seule erreur, d'une nature différente.
Panne 1, faite avec vous
- Tapez dans le terminal :
python pannes\panne1.py
Vous devez voir : un message qui finit par SyntaxError: '(' was never closed. Rien d'autre ne s'affiche, même pas Bonjour Léa.
- Lisez la ligne d'exemple de la grille. Elle est faite pour vous.
| Panne | Type d'erreur | Ligne | La ligne fautive | Ma correction |
|---|---|---|---|---|
| 1 | SyntaxError |
4 | print("Bienvenue à MaisonDesJeux !" |
ajouter la parenthèse fermante à la fin |
| 2 | ||||
| 3 |
- Ouvrez
pannes\panne1.py, corrigez la ligne 4, enregistrez, relancez.
Vous devez voir : Bonjour Léa, Bienvenue à MaisonDesJeux !, Bonne partie !.
Panne 2
- Lancez
python pannes\panne2.py. Remplissez la ligne 2 de la grille. Python peut proposer le bon nom :Did you mean…. - Corrigez, enregistrez, relancez.
Vous devez voir : Adhérents cette saison : 352.
Panne 3
- Lancez
python pannes\panne3.py. Remplissez la ligne 3 de la grille. - Corrigez avec une chaîne formatée :
{total}, sans code de mise en forme. Enregistrez, relancez.
Vous devez voir : Calcul du prix des adhésions..., puis Total à payer : 100 euros.
Dire ce que voulait dire chaque message
- Pour chaque panne, écrivez en une phrase, avec vos mots, ce que le message voulait dire. La première est faite pour vous.
| Panne | Le message voulait dire |
|---|---|
| 1 | Une parenthèse ouverte à la ligne 4 n'a jamais été fermée. |
| 2 | |
| 3 |
Vous devez avoir : une phrase sans mot anglais pour chaque panne.
Syntaxe ou exécution ?
- Avant la correction, la panne 1 n'affichait rien. La panne 3 affichait sa première ligne. Notez la famille de chaque erreur :
Vous devez avoir : une famille pour chacune des trois pannes, et deux familles différentes en tout.
Pourquoi ? La ligne 3 de la panne 1 était juste. Pourquoi n'a-t-elle pas affiché Bonjour Léa ?
Votre réponse :
POINT DE CONTRÔLE D
- Montrez au formateur vos grilles des étapes 18 et 21, et les trois programmes qui tournent.
- Le formateur a validé. Le labo est terminé.
POUR ALLER PLUS LOIN
10 à 15 min, si vous avez fini avant la fin de la séance.
Bruno a écrit une quatrième ligne pour Léa. Elle ne produit aucun message d'erreur, mais le résultat est faux.
moyenne = 25 + 12 / 2
print("Prix moyen :", moyenne)
- Créez
bonus.pyavec ces deux lignes. Lancez-le. Notez le résultat : - La moyenne de 25 et 12 vaut 18.5. Avec l'ordre des opérations de l'annexe , corrigez la ligne 1 par des parenthèses. Relancez.
- Écrivez en une phrase pourquoi Python n'a affiché aucune erreur :
CE QU'IL FAUT RETENIR
- Écrivez, enregistrez, lancez, lisez : à chaque modification, on refait les quatre gestes.
input()rend du texte : convertissez avecint()oufloat()avant de calculer.- Un message d'erreur se lit par le bas : le type et le message, puis le fichier et la ligne.
Tous les documents du module
Cliquez sur une annexe pour l'ouvrir dans le panneau de droite. Elle reste ouverte pendant que vous lisez.