Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Aperçu

Projet : un jeu en Python

Voici la première page de la leçon. Lis-la et essaie les activités. La suite est dans le cours complet.

45 minutes

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

MotCe que ça veut direExemple
ProjetUn travail assez long, fait en plusieurs étapes.Ce jeu
ÉtapeUn petit morceau du projet, qu'on peut finir et vérifier seul.Écrire la fonction verdict
Cahier des chargesLa liste de ce que le programme doit faire.Sept essais, des points
TestUne vérification : on compare ce qu'on attend et ce qu'on obtient.assert verdict(50, 10) == "plus"
Jeu d'essaiDes valeurs choisies pour tester, y compris les cas limites.Premier essai, dernier essai
RapportUn court texte : ce que tu as fait, ce qui a marché, ce qui reste à faire.Huit phrases
RenduCe 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 questions
Essayez : vos réponses sont notées ici puis oubliées. Connectez-vous si vous voulez conserver votre score et reprendre là où vous en étiez.Se connecter pour conserver mon score

Tes 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

ÉtapeCe que tu faisTu as fini quandOù
1Quatre fonctions qui calculentLes tests cachés sont vertsTâche Python
2Le jeu avec input et randomTu as joué trois partiesRendu écrit
3Tes propres tests avec assertCinq vérifications passentRendu écrit
4Un rapport de huit phrasesQuelqu'un d'autre le comprendRendu écrit

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

À toi : vérifier avec assert

Code: python
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"

La leçon continue

10 parties de plus de cette leçon se trouvent dans le cours complet, avec les exercices et la vérification finale. Un compte te donne tout.