← Bibliothèque · BOOST · Des blocs au texte
0/0 ⬇
Collection « Challenges » · Apprendre à coder en Python · Collégiens · Boost

Des blocs au texte — tes 5 premiers jours en Python

Tu sais déjà programmer avec des blocs. En cinq jours, tu vas écrire les mêmes idées avec des mots, lancer tes premiers programmes Python et construire ton propre quiz.

5 épisodes · 5 jours1 épisode par jourNavigateur (Basthon, Capytale) ou Thonny≈ 20 min / épisode
BOOST · 5 JOURSPasser des blocs au texte et créer ton premier quiz.
PRO · 20 JOURSCréer un mini-jeu avec boucles, listes, hasard et tes propres fonctions.
MASTER · 4 MOISMener un projet de jeu complet et l'expliquer aux autres.
Le fil rouge. Inès, 13 ans, en 4e (personnage fictif), vient de rejoindre le club code de son collège. Elle progresse avec toi, jour après jour.
Chaque épisode = un scénario, une notion ou une méthode, ce que disent les sources, des idées reçues, un quiz, ton kit et ton journal.
Tes données restent chez toi. Ta progression et ton journal sont enregistrés seulement dans ce navigateur. Dans les exercices, utilise un pseudo, jamais ton vrai nom.
Règle d'or. Un code que tu ne comprends pas, tu ne le lances pas.
ARC UNIQUE · 5 JOURS

Les 5 jours

Du lundi au vendredi : traduire tes blocs, lancer ton premier programme, ranger des valeurs et décider, puis construire et présenter ton quiz.

01
JOUR 1 · Comprendre

Du bloc à la ligne

Un programme Python dit la même chose qu'un programme en blocs, avec des mots à la place des pièces.

⏱ 12 min de lecture · 5 min de quiz
[1]Scénario
Inès · Lundi, 12 h 40Premier atelier du club code. Sur le tableau, l'animatrice projette deux choses côte à côte : à gauche, le programme Scratch du chat qui dit « Bonjour ! » et demande le pseudo du joueur ; à droite, trois lignes de texte. « C'est le même programme », dit-elle. Inès plisse les yeux. Elle reconnaît les mots « Bonjour » et « pseudo », mais plus aucune pièce colorée. Où sont passés les blocs ?
[2]Concept

Du bloc à la ligne

Un programme, c'est une suite d'instructions que l'ordinateur exécute dans l'ordre, de haut en bas. Tu le sais déjà : en Scratch, le chat fait d'abord ce qui est en haut de la pile. Un langage de programmation, c'est une façon d'écrire ces instructions. Scratch utilise des pièces à emboîter ; Python utilise des lignes de texte. L'idée est la même, seule l'écriture change.

EN BLOCS EN PYTHON dire « Bonjour ! » demander « Ton pseudo ? »et attendre dire « Salut » + réponse print("Bonjour !") pseudo = input("Ton pseudo ? ") print("Salut", pseudo)
Chaque bloc devient une ligne. L'ordre ne change pas.

Ce qui change, ce qui ne change pas

En blocsEn PythonÀ retenir
dire « Bonjour ! »print("Bonjour !")print affiche ; le texte va entre guillemets
demander « Quel est ton pseudo ? » et attendrepseudo = input("Quel est ton pseudo ? ")input pose la question et garde la réponse
la réponse (bloc bleu clair)pseudotu choisis le nom de la boîte qui garde la réponse
mettre score à 0score = 0le signe = range une valeur dans une boîte
si … alors … sinon …if … : puis else:les deux-points : ouvrent un bloc
les pièces emboîtées dans le « si »lignes décalées de 4 espacesce décalage s'appelle l'indentation

Le programme du tableau, en Python :

Code
pseudo = input("Quel est ton pseudo ? ")
print("Salut", pseudo)
Quand on le lance et qu'on tape Inès
Quel est ton pseudo ? Inès Salut Inès

À toi : relie chaque bloc à sa ligne

Relier · clique un bloc, puis la ligne Python qui lui correspond
Clique d'abord sur un bloc, à gauche.

Les mots-clés de Python sont en anglais, mais il y en a peu : print = afficher, input = entrée, if = si, else = sinon. Tu les apprendras comme des mots de vocabulaire.

[3]Recherche

Ce que disent les sources

  • BO du 5 mars 2026 — Le nouveau programme de mathématiques du cycle 4 fait de la « pensée informatique » un domaine à part entière. Il s'appuie sur l'algorithmique et sur une introduction progressive de la programmation par blocs [1][2].
  • Ce programme, année par année — En 5e, on enchaîne des instructions et on répète un nombre fixe de fois ; en 4e, on introduit les variables et les conditions ; en 3e, on combine des conditions et on utilise une boucle qui s'arrête selon une condition [1]. Il s'applique en 5e depuis la rentrée 2026, en 4e à la rentrée 2027, en 3e à la rentrée 2028 [2].
  • Au lycée — Python est le langage utilisé pour la programmation en mathématiques au lycée depuis les programmes de 2019 [3]. De nouveaux programmes de seconde et de première s'appliquent depuis la rentrée 2026 ; l'algorithmique et la programmation y restent une partie transversale [4].
  • 9 octobre 2026 — Sortie de la version 3.15 de Python [5]. Les programmes de ce livre fonctionnent avec Python 3.12 et toutes les versions plus récentes.
[4]Mythes
« Python, c'est pour les génies des maths. »
Python est enseigné à tous les lycéens en mathématiques. Écrire un programme, c'est surtout décrire des étapes dans le bon ordre, ce que tu fais déjà en Scratch.
« Il faut être bon en anglais pour coder. »
Python n'a qu'une poignée de mots-clés en anglais à reconnaître. Les textes affichés et les noms de tes boîtes peuvent être en français.
« Le texte, c'est beaucoup plus dur que les blocs. »
Le raisonnement est le même. Ce qui est nouveau, c'est de faire attention aux détails d'écriture (guillemets, deux-points, décalages) : on s'entraîne à les repérer au jour 2.
[5]Quiz

1. Quelle ligne Python remplace le bloc « dire Bonjour ! » ?

print affiche un texte. input pose une question et attend une réponse. dire n'existe pas en Python.

2. En Python, que remplace l'emboîtement des pièces dans un bloc « si » ?

Les deux-points ouvrent le bloc ; les lignes décalées de 4 espaces sont « dans » le si, comme les pièces emboîtées.

3. Dans quel ordre Python exécute-t-il les lignes d'un programme ?

Comme une pile de blocs Scratch : de haut en bas.
[6]Kit

🎒 Ton kit — Épisode 1

10 min

Exercice : traducteur débranché

Aujourd'hui, pas d'ordinateur : prends une feuille. Traduis en Python ces trois programmes Scratch, puis compare avec le code à copier.

  1. « dire Bonjour ! »
  2. « demander Quel est ton pseudo ? et attendre » puis « dire Salut (réponse) »
  3. « demander Combien de pattes a une araignée ? et attendre » ; « si réponse = 8 alors dire Bravo ! sinon dire Raté ! »
Code à copier · la correction
print("Bonjour !")

pseudo = input("Quel est ton pseudo ? ")
print("Salut", pseudo)

reponse = input("Combien de pattes a une araignée ? ")
if reponse == "8":
    print("Bravo !")
else:
    print("Raté !")

Dans le troisième programme, la comparaison s'écrit == (deux signes égal) et le 8 est entre guillemets. Pourquoi ? Réponse au jour 3.

Checklist

  • Je sais dire ce qu'est un programme et ce qu'est un langage.
  • Je connais au moins 4 correspondances entre blocs et Python.
  • J'ai traduit les 3 programmes sur papier et je les ai comparés à la correction.
VigilanceOn n'écrit pas encore sur l'ordinateur, c'est voulu. Demain, tu lanceras tes premières lignes ; l'erreur la plus fréquente sera un oubli de guillemet ou de deux-points. Relis tes traductions en les cherchant.
[7]Journal

✍️ Journal de bord

Quel programme que tu as fait en blocs, et dont tu es fière ou fier, aimerais-tu un jour réécrire en Python ? Décris-le en deux phrases.

[8]Sources
  1. Ministère de l'Éducation nationale, Programme de mathématiques pour le cycle 4, annexe 2 (« La pensée informatique ») (consulté le 28/10/2026).
  2. Académie de Bordeaux, Publication du nouveau programme Cycle 4 (consulté le 28/10/2026).
  3. Académie de Bordeaux, Lycée — Algorithme et programmation (consulté le 28/10/2026).
  4. Académie de Normandie, Les nouveaux programmes de mathématiques du lycée, rentrée 2026 (consulté le 28/10/2026).
  5. Python Software Foundation, Active Python releases (consulté le 28/10/2026).
02
JOUR 2 · Pratiquer

Lancer ton premier programme

Ouvrir un environnement, écrire un programme, le lancer… et réparer ce qui casse.

⏱ 15 min de pratique · 5 min de quiz
[1]Scénario
Inès · Mardi, 17 h 30À la maison, Inès ouvre son ordinateur. Elle recopie fièrement sa traduction d'hier, clique sur « Exécuter »… et un message rouge apparaît : SyntaxError: unterminated string literal. Elle n'a jamais vu ce mot. Son premier réflexe : tout effacer et recommencer. Son deuxième : envoyer un message à Malik, du club. Il lui répond : « Lis la dernière ligne. Il te manque un guillemet. »
[2]Méthode

Lancer, puis lire une erreur en 3 questions

Rappel : chaque bloc devient une ligne Python, exécutée de haut en bas (voir épisode 1).

Étape 1 — Ouvrir un environnement (un seul suffit)

  • Dans le navigateur, sans compte : Basthon, un « bac à sable » pour Python qui fonctionne directement dans le navigateur. Rien à installer.
  • Avec ton collège : si ton professeur utilise Capytale, tu y accèdes depuis l'ENT, dans les ressources numériques, avec le code d'activité qu'il te donne.
  • Sur l'ordinateur de la maison : Thonny, un logiciel gratuit fait pour débuter. Demande à un adulte de l'installer depuis son site officiel (thonny.org), jamais depuis un autre site.

Étape 2 — Console ou script ?

  • La console : tu tapes une ligne, elle s'exécute tout de suite. Parfait pour essayer.
  • Le script (ou éditeur) : tu écris tout le programme, puis tu cliques sur « Exécuter » (ou « Run », ou ▶). C'est là qu'on écrit les vrais programmes.

Étape 3 — Écrire et lancer

Code
pseudo = input("Quel est ton pseudo ? ")
print("Bonjour,", pseudo, "!")
Quand on tape Inès
Quel est ton pseudo ? Inès Bonjour, Inès !

print place un espace entre chaque morceau séparé par une virgule.

Étape 4 — Si un message rouge apparaît : les 3 questions

  1. Quelle ligne ? Le message indique line 1, line 2… C'est par là qu'il faut chercher (parfois juste au-dessus).
  2. Quel type d'erreur ? C'est le premier mot de la dernière ligne du message.
  3. Qu'est-ce qui manque ou dépasse ? Les petits ^ montrent l'endroit où Python s'est arrêté.
Type d'erreurCe que Python veut direCe qu'il faut vérifier
SyntaxError« Je ne comprends pas comment c'est écrit. »guillemets, parenthèses, deux-points
NameError« Je ne connais pas ce nom. »l'orthographe du nom de la boîte
IndentationError« Ce décalage n'est pas à sa place. »les espaces en début de ligne
Exemple réel : un guillemet oublié
File "programme.py", line 1 print("Bonjour !) ^ SyntaxError: unterminated string literal (detected at line 1)

Ligne 1, SyntaxError, et la flèche montre le guillemet ouvert qui n'est jamais fermé (unterminated = pas terminé).

[3]Pourquoi ça marche

L'ordinateur lit ton texte à la lettre : il ne devine pas ce que tu voulais dire. Mais il dit toujours où il s'est arrêté. La documentation officielle de Python l'explique : pour une erreur d'écriture, Python affiche la ligne en cause et pointe avec des ^ l'endroit où il a détecté le problème, qui n'est pas toujours exactement l'endroit à corriger ; pour les autres erreurs, la dernière ligne donne le type d'erreur [1]. Depuis la version 3.10, Python propose même parfois la correction : Did you mean: 'pseudo'? (« Voulais-tu dire : pseudo ? ») [2].

À retenirOn ne réécrit pas tout. On lit la dernière ligne, on va à la ligne indiquée, on cherche ce qui manque.
[4]Entraînement

Bon réflexe ou piège ?

Je relance le programme sans rien changer, au cas où.
L'ordinateur refera exactement la même chose. Change d'abord quelque chose.
Je lis la dernière ligne du message.
C'est là que se trouve le type d'erreur.
J'efface tout et je recommence.
Tu risques de refaire la même erreur, et tu perds ce qui marchait.
Je vérifie les guillemets et les parenthèses de la ligne indiquée.
C'est la cause la plus fréquente des SyntaxError.
Je demande de l'aide en montrant le message d'erreur en entier.
Sans le message, personne ne peut deviner le problème.
[5]Quiz

1. Tu veux essayer une seule ligne pour voir ce qu'elle fait. Tu l'écris…

La console exécute la ligne aussitôt. Le script sert à écrire un programme complet.

2. Que fait input("Ton pseudo ? ") ?

input attend la réponse et la renvoie au programme, qui peut la ranger dans une boîte. Rien ne part sur Internet.

3. Un message d'erreur apparaît. Que regardes-tu en premier ?

La dernière ligne te dit quel genre de problème ; le numéro de ligne te dit où chercher.
[6]Kit

🎒 Ton kit — Épisode 2

15 min

Exercice : premier programme et trois réparations

  1. Ouvre ton environnement (Basthon, Capytale ou Thonny).
  2. Dans le script, écris le programme « Bonjour » de l'étape 3 et lance-le. Tape un pseudo inventé.
  3. Recopie chacun des trois programmes cassés, lance-le, lis le message avec les 3 questions, puis répare-le.
Code à copier · programme cassé n° 1
# Programme cassé n° 1
print("Bonjour !)
Code à copier · programme cassé n° 2
# Programme cassé n° 2
pseudo = input("Ton pseudo ? ")
print("Salut", pseudp)
Code à copier · programme cassé n° 3
# Programme cassé n° 3 (attention aux espaces au début de la ligne)
  print("Bonjour")

Les lignes qui commencent par # sont des commentaires : Python les ignore, elles servent aux humains.

Ce que tu dois voir

  • N° 1 → SyntaxError: unterminated string literal (detected at line 1) : il manque le guillemet fermant, print("Bonjour !").
  • N° 2 → NameError: name 'pseudp' is not defined. Did you mean: 'pseudo'? : faute de frappe, il faut écrire pseudo.
  • N° 3 → IndentationError: unexpected indent : la ligne commence par des espaces alors qu'elle n'est dans aucun bloc ; on les retire.

Checklist

  • J'ai lancé mon programme « Bonjour » et il m'a répondu.
  • J'ai réparé les 3 programmes cassés en lisant les messages.
  • Je sais citer les 3 questions pour lire une erreur.
VigilanceUtilise toujours un pseudo inventé, jamais ton vrai nom, ton adresse ou le nom de ton collège. Et si un site te demande de créer un compte, demande d'abord à un adulte.
[7]Journal

✍️ Journal de bord

Qu'as-tu ressenti devant ta première erreur ? Qu'est-ce qui t'a aidée ou aidé à la corriger ?

[8]Sources
  1. Python Software Foundation, Tutoriel Python — 8. Erreurs et exceptions (consulté le 28/10/2026).
  2. Python Software Foundation, Les nouveautés de Python 3.10 — Meilleurs messages d'erreurs (consulté le 28/10/2026).
  3. Pyodide, Related projects (Basthon) (consulté le 28/10/2026).
  4. Académie de Toulouse, Focus n° 7 pour le collège : l'outil Capytale (consulté le 28/10/2026).
  5. Thonny, page du projet sur PyPI (version 5.0.1 du 26/10/2026) (consulté le 28/10/2026).
03
JOUR 3 · Comprendre

Des boîtes et des choix

Ranger des valeurs dans des variables, calculer, et faire prendre une décision à ton programme.

⏱ 15 min de lecture · 5 min de quiz
[1]Scénario
Inès · Mercredi, 14 h

Inès prépare une question pour le défi du club : « Combien font 7 × 8 ? ». Elle tape 56, sûre d'elle. Le programme répond « Raté ! ». Elle réessaie, vérifie avec la calculatrice : c'est bien 56. Elle tape 56 une troisième fois. « Raté ! ». Le programme ne se trompe jamais… alors qui se trompe ?

Le programme d'Inès
reponse = input("Combien font 7 × 8 ? ")
if reponse == 56:
    print("Bravo !")
else:
    print("Raté !")
[2]Concept

Des boîtes et des choix

Une variable, c'est une boîte avec une étiquette. score = 0 crée une boîte étiquetée score et y range 0. Le signe = range : il ne compare pas. Si on écrit ensuite score = 10, l'ancienne valeur est remplacée.

Les types de valeurs

TypeNom en PythonExemples
nombre entierint56, -3, 0
nombre à virgulefloat3.5 (avec un point, pas une virgule)
texte (chaîne de caractères)str"56", "Bonjour" (toujours entre guillemets)
vrai / fauxboolTrue, False

Calculer

+, -, * (multiplier), / (diviser). Les priorités sont celles des maths : 2 + 3 * 4 donne 14, (2 + 3) * 4 donne 20, et 7 / 2 donne 3.5.

La clé du mystère

input renvoie toujours du texte, même quand on tape des chiffres. Pour Python, le texte "56" et le nombre 56 sont deux choses différentes : "56" == 56 est faux. Il faut convertir le texte en nombre entier avec int(...) :

Code
reponse = int(input("Combien font 7 × 8 ? "))
if reponse == 56:
    print("Bravo !")
else:
    print("Raté !")
On tape 56
Combien font 7 × 8 ? 56 Bravo !

Comparer et décider

== compare (est-ce égal ?). On trouve aussi != (différent), <, >, <=, >=. Une comparaison donne True ou False. if exécute son bloc si c'est True ; elif (« sinon si ») teste une autre condition ; else attrape tous les autres cas.

Code
note = 14
if note >= 16:
    print("Très bien")
elif note >= 12:
    print("Bien")
else:
    print("Continue")
Ce que tu vois
Bien

Python teste les conditions dans l'ordre et s'arrête à la première qui est vraie.

En blocsEn Python
( ) = ( ) (bloc vert)==
( ) > ( )>
si … alors … sinon …if … : / else:
deux « si » à la suite pour plusieurs casif / elif / else

À toi : suis les variables ligne par ligne

Suivre les variables · clique « Ligne suivante »
1 score = 0
2 bonus = 2
3 score = score + 10
4 score = score + bonus
5 print(score)
Boîte (variable)Valeur
score—
bonus—
Ce qui s'affiche

Le programme n'a pas encore commencé.

L'environnement en ligne que tu utilises peut avoir une version de Python plus ancienne que la dernière (3.15). Ce n'est pas grave : tout ce livre fonctionne dès Python 3.12.

[3]Recherche

Ce que disent les sources

  • Documentation officielle — La fonction input lit une ligne tapée au clavier et la renvoie sous forme de chaîne de caractères, sans le retour à la ligne final [1].
  • Programme du collège — En 4e, le programme de mathématiques du cycle 4 introduit progressivement la variable informatique et l'écriture d'instructions conditionnelles ; dès la 5e, il demande de prévoir le résultat d'une expression avant de l'exécuter [2].
  • Tutoriel officiel — On peut enchaîner autant de elif qu'on veut, le else est facultatif, et elif (raccourci de else if) évite d'ajouter un niveau de décalage [3].
[4]Mythes
« En Python, = veut dire « égal ». »
= range une valeur dans une variable. Pour comparer, on écrit ==.
« Si je tape 56, l'ordinateur comprend que c'est un nombre. »
input renvoie du texte. Il faut convertir avec int(...).
« Un if doit toujours avoir un else. »
Le else est facultatif. Sans lui, si la condition est fausse, Python passe simplement à la suite.
[5]Quiz

1. Après ces deux lignes, que vaut a ? a = 5 puis a = 10

La deuxième ligne remplace le contenu de la boîte. Elle n'ajoute rien.

2. Que renvoie input(...) quand on tape 56 ?

input renvoie toujours du texte. int(...) le transforme en nombre.

3. note = 9. Qu'affiche le programme de la note (≥ 16 : Très bien ; ≥ 12 : Bien ; sinon : Continue) ?

9 n'est ni ≥ 16 ni ≥ 12 : c'est le else qui s'exécute.
[6]Kit

🎒 Ton kit — Épisode 3

15 min

Exercice : prédire, puis vérifier

Pour chacun des trois programmes, écris d'abord sur papier ce qu'il va afficher. Ensuite seulement, lance-le et compare.

Code à copier · programme A
# Programme A
a = 5
b = a + 3
a = 10
print(a, b)
Code à copier · programme B
# Programme B
x = "7"
y = "3"
print(x + y)
print(int(x) + int(y))
Code à copier · programme C
# Programme C
reponse = int(input("Combien font 7 × 8 ? "))
if reponse == 56:
    print("Bravo !")
else:
    print("Raté !")

Corrigé

  • A → 10 8. b a été calculé quand a valait encore 5 ; changer a ensuite ne change pas b.
  • B → 73 puis 10. Avec du texte, + colle les deux morceaux ; avec des nombres, il additionne.
  • C → avec 56 : Bravo ! ; avec 54 : Raté !.

Checklist

  • Je sais expliquer la différence entre = et ==.
  • Je sais pourquoi on écrit int(input(...)) pour une réponse en chiffres.
  • J'ai prédit puis vérifié les 3 programmes.
VigilanceDécale les lignes d'un bloc de 4 espaces (la plupart des éditeurs le font tout seuls après les deux-points). Et si quelqu'un tape des lettres là où int(...) attend des chiffres, Python s'arrête avec une ValueError : lis-la avec tes 3 questions du jour 2. Pour l'instant, demande simplement de taper un nombre.
[7]Journal

✍️ Journal de bord

Explique avec tes mots, comme à quelqu'un qui n'a jamais codé, la différence entre = et ==.

[8]Sources
  1. Python Software Foundation, Fonctions natives — input() (consulté le 28/10/2026).
  2. Ministère de l'Éducation nationale, Programme de mathématiques pour le cycle 4, annexe 2 (« La pensée informatique ») (consulté le 28/10/2026).
  3. Python Software Foundation, Tutoriel Python — 4. D'autres outils de contrôle de flux, 4.1 L'instruction if (consulté le 28/10/2026).
04
JOUR 4 · Pratiquer

Ton quiz, question par question

Construire un programme petit à petit, en le testant à chaque ajout.

⏱ 15 min de pratique · 5 min de quiz
[1]Scénario
Inès · Jeudi, 12 h 40Au club, l'animatrice annonce le défi : vendredi, chacun présente un quiz de 5 questions qui compte les points. Inès ouvre son éditeur et commence à taper ses 5 questions d'un coup. Au bout de 30 lignes, elle lance : trois erreurs, un score qui reste à 0, et aucune idée de l'endroit où chercher. L'animatrice s'approche : « Une question. Tu testes. Ensuite la suivante. »
[2]Méthode

« Une question, un test »

Rappels : input renvoie du texte, qu'on convertit avec int(...) pour un nombre (voir épisode 3) ; un message d'erreur se lit avec les 3 questions (voir épisode 2).

  1. Crée le score tout en haut : score = 0.
  2. Écris une seule question, avec son if / else.
  3. Lance et teste deux fois : une fois avec la bonne réponse, une fois avec une mauvaise.
  4. Ajoute un point quand c'est juste : score = score + 1 (on prend l'ancien score, on ajoute 1, on range le résultat dans la même boîte).
  5. Seulement ensuite, ajoute la question suivante… et reteste.
Code
score = 0
reponse = input("Quelle est la capitale de l'Italie ? ")
if reponse == "Rome":
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était Rome.")
print("Ton score :", score)
Test 1 : on tape Rome
Quelle est la capitale de l'Italie ? Rome Bonne réponse ! Ton score : 1
Test 2 : on tape rome
Quelle est la capitale de l'Italie ? rome Non, la réponse était Rome. Ton score : 0

Le deuxième test révèle quelque chose : pour Python, "rome" et "Rome" sont différents. Les majuscules comptent. Pour l'instant, précise dans ta question comment écrire la réponse ; tu apprendras à régler ça dans le Pro.

Les deux lignes print("Bonne réponse !") et score = score + 1 sont toutes les deux décalées : elles font partie du if. La dernière ligne n'est pas décalée : elle s'exécute dans tous les cas.

Générateur · une question de quiz
Code obtenu

Réponse en chiffres ? Remplace input(…) par int(input(…)) et retire les guillemets autour de la bonne réponse (voir épisode 3).

[3]Pourquoi ça marche

Quand on ajoute peu de code à la fois, une nouvelle erreur ne peut venir que de ce qu'on vient d'ajouter : on sait où chercher. C'est aussi ce que demande le programme de mathématiques au collège : prévoir le résultat d'un programme, écrire de petits programmes et en modifier un pour changer son comportement [1]. Tester une mauvaise réponse est aussi important que tester la bonne : c'est elle qui montre si le else fonctionne.

À retenirPetit ajout → test → petit ajout → test. Et toujours deux tests : une bonne et une mauvaise réponse.
[4]Entraînement

Bon réflexe ou piège ?

Je teste après chaque nouvelle question.
Si ça casse, je sais que c'est la dernière question.
J'écris les 5 questions, puis je teste tout à la fin.
Plusieurs erreurs se mélangent et on ne sait plus où chercher.
Je teste aussi avec une mauvaise réponse.
C'est le seul moyen de vérifier le else.
Je copie-colle la question 1 pour faire la question 2, sans changer la bonne réponse.
La question 2 attendrait encore « Rome ». Après un copier-coller, relis chaque ligne.
J'oublie de décaler score = score + 1.
La ligne n'est plus dans le if : le point est ajouté même quand la réponse est fausse.
[5]Quiz

1. Quand faut-il lancer ton quiz pour le tester ?

Tester souvent limite l'endroit où chercher en cas d'erreur.

2. Quelle ligne ajoute un point au score ?

= range le nouveau score dans la boîte. == compare seulement, et score + 1 calcule sans rien ranger.

3. Pourquoi tester avec une mauvaise réponse ?

Un quiz qui donne des points à toutes les réponses n'est pas un quiz !
[6]Kit

🎒 Ton kit — Épisode 4

15 min

Exercice : tes deux premières questions

  1. Dans le générateur, écris ta première question et sa bonne réponse ; copie le code obtenu.
  2. Dans ton éditeur, écris score = 0 en première ligne, colle ta question en dessous, ajoute print("Ton score :", score) à la fin. Teste avec une bonne puis une mauvaise réponse.
  3. Ajoute une deuxième question dont la réponse est un nombre (pense à int(input(...))). Reteste deux fois.
  4. Change la dernière ligne pour afficher le score sur 2.
Code à copier · exemple complet à deux questions
score = 0
reponse = input("Quelle est la capitale de l'Italie ? ")
if reponse == "Rome":
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était Rome.")
reponse = int(input("Combien de côtés a un hexagone ? "))
if reponse == 6:
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était 6.")
print("Ton score :", score, "sur 2")
Avec Rome puis 6, la dernière ligne affiche
Ton score : 2 sur 2

Checklist

  • Ma première question marche avec une bonne et une mauvaise réponse.
  • Ma deuxième question attend un nombre et marche aussi.
  • Mon programme affiche le score à la fin.
VigilancePour l'instant, écris dans ta question comment taper la réponse (par exemple « avec une majuscule »), car les majuscules comptent.
[7]Journal

✍️ Journal de bord

Quel bug as-tu rencontré aujourd'hui, et comment l'as-tu trouvé ?

[8]Sources
  1. Ministère de l'Éducation nationale, Programme de mathématiques pour le cycle 4, annexe 2 (« La pensée informatique ») (consulté le 28/10/2026).
  2. Python Software Foundation, Tutoriel Python — 3. Introduction informelle à Python (consulté le 28/10/2026).
05
JOUR 5 · Final

Ton quiz complet et ton certificat

Terminer ton quiz, rassembler tes outils, puis célébrer la fin du Boost.

⏱ 20 min · boîte à outils · carrousel · certificat
[1]Scénario
Inès · Vendredi, 12 h 40C'est le jour du défi. Inès lance son quiz devant le club : cinq questions, un score, et un message final qui change selon les points. Tout marche du premier coup, parce qu'elle a testé chaque question hier et ce matin. Malik applaudit, puis fait défiler son code : « Tu as recopié cinq fois presque le même bloc. Il n'y a pas plus court ? » Inès sourit : elle ne sait pas encore. Mais elle a bien envie de l'apprendre.
[2]Outil

Mon carnet de code

Consigne : termine ton quiz de 5 questions, en ajoutant un message final différent selon le score (if / elif / else, voir épisode 3), puis range dans ton carnet les outils de la semaine.

Code à copier · le message final
print("Ton score :", score, "sur 5")
if score == 5:
    print("Parfait ! Tu es incollable.")
elif score >= 3:
    print("Bien joué !")
else:
    print("Continue, tu vas progresser !")
Code à copier · le quiz complet d'Inès, à adapter avec tes questions
print("=== Le quiz d'Inès ===")
score = 0

reponse = input("1. Quelle est la capitale de l'Italie ? ")
if reponse == "Rome":
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était Rome.")

reponse = int(input("2. Combien de côtés a un hexagone ? "))
if reponse == 6:
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était 6.")

reponse = int(input("3. Combien font 7 × 8 ? "))
if reponse == 56:
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était 56.")

reponse = input("4. Quelle planète est surnommée la planète rouge ? ")
if reponse == "Mars":
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était Mars.")

reponse = int(input("5. Combien de pattes a une araignée ? "))
if reponse == 8:
    print("Bonne réponse !")
    score = score + 1
else:
    print("Non, la réponse était 8.")

print("Ton score :", score, "sur 5")
if score == 5:
    print("Parfait ! Tu es incollable.")
elif score >= 3:
    print("Bien joué !")
else:
    print("Continue, tu vas progresser !")
Essai réel avec Rome, 5, 56, mars, 8 (fin de l'affichage)
Ton score : 3 sur 5 Bien joué !

mars sans majuscule compte faux : souviens-toi du jour 4.

Boîte à outils interactive · Enregistrée dans ce navigateur
[3]Carrousel final

🎨 Carrousel récapitulatif — Boost

[4]Journal

✍️ Journal de bord — mot de la fin

Qu'est-ce que tu sais faire aujourd'hui que tu ne savais pas faire lundi ?

✦ CODEUSE · CODEUR ✦

Bravo ! Tu as terminé les 5 jours du Boost.
Tu sais écrire, lancer et réparer un programme Python, et tu as créé ton premier quiz.

[5]Certificat

🎓 Ton certificat

Le certificat s'affiche lorsque les 5 épisodes sont marqués comme terminés.

COLLECTION « CHALLENGES » · APPRENDRE À CODER EN PYTHON

Certificat de réussite

Ce certificat atteste que

—

a terminé les épisodes du Boost — Des blocs au texte
et atteint le niveau Codeuse · Codeur.

Ce que ce parcours couvre : passer des blocs au texte, lancer un programme, lire une erreur, variables et types, conversions, conditions, construire un quiz pas à pas.