Projet SNT : Devine un nombre

Apprendre à programmer en python

python

A vous de jouer !!

Nous allons aborder les notions les plus importantes de la programmation à travers un jeu.
Le jeu consiste à tirer un nombre aléatoire (généralement entre 0 et 50) puis de le faire deviner au joueur en lui indiquant si le nombre à deviner est plus grand ou plus petit que celui qu’ils ont donné.
Le but étant bien sûr de deviner le nombre en le moins de coups possible.

Exemple de partie :

J'ai choisi un nombre entre 1 et 50
A vous de le deviner!
Votre proposition : 10
Trop petit
Votre proposition : 26
Trop grand
Votre proposition : 19
Trop grand
Votre proposition : 12
Bravo ! Vous avez trouvé le nombre que j'avais choisi : le 12.

Le code du programme :

Entraînement 1 :

# Devine mon nombre
import random  # permet de générer un nombre aléatoire

nombre_inconnu = random.randint(1,50)   # générer un nombre aléatoire entre 1 et 50
print("J'ai choisi un nombre entre 1 et 50")
print("A vous de le deviner!")

Ajouter du code qui permet de demander à l'utilisateur d'entrer une proposition

Aide :

Voir une solution

Entraînement 2 :

Ajouter au code, un test qui vérifie si le nombre saisi est le bon.

on réalise des instructions conditionnelles, c'est à dire qu'on met en œuvre un contrôle du type Si ... Alors... Sinon.
Une aide

Pour l'instant, le programme est capable de dire si le nombre entré est plus ou moins grand que le nombre à deviner.

Entraînement 3 :

Modifier le code afin de permettre à l'utilisateur d'entrer une proposition jusqu'à trouver la bonne réponse

Aide :


Entraînement 4 :

Ajouter du code pour afficher le nombre de tentative avec la variable « nombre_essais »

Entraînement 5 :

Modifier le code pour pouvoir ajouter un nombre de coup maximum « nb_vies = 5  » pour notre exemple et afficher perdu si le nombre de tentative dépasse 5 pour notre exemple

Entraînement 6 :

Modifier le code pour demander à l’utilisateur s’il veut refaire une partie et relancer la partie si la réponse est « oui »

Entraînement 7 :

Modifier le code pour permettre au joueur de choisir un niveau de difficulté n = 1 , 2 ,3 , .... avec borne_sup = 50 *n


Le code du programme : dépasser le programme !

Entraînement : Niveau confirmé

Amélioration 1 :
Transformer le code afin d'utiliser les fonctions (par exemple : difficulté() ; proposition() ; rejouer()); la fonction jouer() lancera une partie.
Amélioration 2 :
L'ordinateur affiche un message d'erreur si l'utilisateur propose un nombre hors de l’intervalle [0, borne_sup*n].
Amélioration 3 :
Adapter le code pour inclure un mode multi-joueurs pour pouvoir jouer à un ou 2 joueurs au choix et déterminer le vainqueur.

Entraînement : Niveau Champion

Amélioration 4 :
Enregistrer les pseudos des joueurs et afficher un classement
Attention : Il faut gérer la gestion d'un fichier texte exterieur.
Amélioration 5 :
Faire deviner un nombre à l’ordinateur.