TDA1 : Guess the number - Correction
Donnons lignes par lignes quelques explications sur le code du jeu "Guess the number". Chaque notion évoquée ici sera détaillée dans les prochains chapitres.
Le code source du jeu : « Guess the number »
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
-
Ligne 1 : on repère un commentaire*
-
Ligne 2 : on importe le module
random
, car python ne sait pas tout faire nativement, on va chercher des fonctions dans des bibliothèques externes. -
Ligne 4 : on reconnait une instruction d'affectation, on crée une variable
guessesTaken
initialisée à 0. - Lignes 6-7 : on reconnaît les fonctions intégrées d'affichage et de saisie de python.
- Ligne 9 : on utilise la fonction
randint
du modulerandom
pour générer un nombre aléatoire entre 1 et 20 (on y reviendra plus tard). - Ligne 10 : on reconnaît une concaténation de chaînes de caractères dans la fonction
print
. - Ligne 12 : une instruction
while
(que l'on n'a pas encore vue) que l'on peut traduire par "tant que"... (on y reviendra bien sûr en détails) - Lignes 13-14 : ... rien de neuf ;-)
- Ligne 15 : utilisation de la fonction
int
. Rappelons nous que le résultat de la fonctioninput
est toujours une chaîne de caractères. Ici cette chaîne est sensée représenter un nombre entier, on la convertit donc en entier avec la fonctionint
. - Ligne 17 : on incrémente la variable
guessesTaken
de 1 - Lignes 19-24 : des instructions conditionnelles
if
(que l'on n'a pas encore vues) que l'on peut traduire par "si... alors...". On y reviendra là aussi très bientôt. - Ligne 24 : l'instruction
break
permet de sortir de la bouclewhile
en cours d'exécution. - Lignes 25-31 : encore des instructions conditionnelles
if
pour afficher un message différent selon que l'utilisateur a trouvé le nombre ou non. On peut toutefois noter l'utilisation de la fonctionstr
(lignes 26 et 30) qui permet de convertir le contenu de la variableguessesTaken
ounumber
(qui sont des entiers) en chaîne de caractères pour pouvoir les concaténer avec d'autres chaînes de caractères dans la fonctionprint
.