Ici, tu construis
Tu as appris beaucoup de petites choses. Maintenant, tu les assembles.
Tu vas fabriquer un jeu de devinette complet. Le vrai but n'est pas le jeu. C'est la façon de travailler : découper en étapes, tester chaque morceau, puis écrire un court rapport.
Les vrais projets se font comme cela.
Mots-clés
| Mot | Ce que ça veut dire | Exemple |
|---|---|---|
| Projet | Un travail assez long, fait en plusieurs étapes. | Ce jeu |
| Étape | Un petit morceau du projet, qu'on peut finir et vérifier seul. | Écrire la fonction verdict |
| Cahier des charges | La liste de ce que le programme doit faire. | Sept essais, des points |
| Test | Une vérification : on compare ce qu'on attend et ce qu'on obtient. | assert verdict(50, 10) == "plus" |
| Jeu d'essai | Des valeurs choisies pour tester, y compris les cas limites. | Premier essai, dernier essai |
| Rapport | Un court texte : ce que tu as fait, ce qui a marché, ce qui reste à faire. | Huit phrases |
| Rendu | Ce que tu remets à ton professeur. | Ton code et ton rapport |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
Le cahier des charges
L'ordinateur choisit un nombre secret entre 1 et 100. Tu as 7 essais.
À chaque essai, il répond « plus », « moins » ou « gagné ».
Si tu gagnes, tu as des points : plus tu gagnes vite, plus tu en as. Sept essais suffisent toujours, si tu coupes en deux à chaque fois, comme dans « Chercher en coupant en deux ».
À toi : l'ordre d'un projet
À toi de jouer
À toi : l'ordre d'un projet
3 questionsTes réponses sont corrigées ici et ne sont pas conservées. Un compte garde tes résultats.
Séparer le calcul de la saisie
Une fonction qui reçoit des valeurs et renvoie un résultat est facile à tester. Tu as vu cela dans « Vérifier avec assert ».
Mais input attend un joueur, et random donne un nombre différent à chaque fois. On ne peut pas les tester simplement.
La solution : mettre tout ce qui se calcule dans des fonctions, et laisser input et random pour la fin. Pour tester une partie entière, on lui donne une liste d'essais au lieu d'un joueur.
Exemple travaillé : le plan du projet
| Étape | Ce que tu fais | Tu as fini quand | Où |
|---|---|---|---|
| 1 | Quatre fonctions qui calculent | Les tests cachés sont verts | Tâche Python |
| 2 | Le jeu avec input et random | Tu as joué trois parties | Rendu écrit |
| 3 | Tes propres tests avec assert | Cinq vérifications passent | Rendu écrit |
| 4 | Un rapport de huit phrases | Quelqu'un d'autre le comprend | Rendu écrit |
Les cellules que les étudiants remplissent restent vides dans cet aperçu.
À toi : vérifier avec assert
def verdict(secret, proposition):
if proposition == secret:
return "gagné"
if proposition < secret:
return "plus"
return "moins"
# assert vérifie. S'il a raison, rien ne s'affiche. Sinon, une erreur arrête tout.
assert verdict(50, 50) == "gagné"
assert verdict(50, 10) == "plus"
assert verdict(50, 99) == "moins"
print("Les trois vérifications sont passées.")
# Retire le # de la ligne suivante : que se passe-t-il ?
# assert verdict(50, 51) == "plus"