Outils pour utilisateurs

Outils du site


programmation:python:prob2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
programmation:python:prob2 [05/11/2018 04:23]
sky99 créée
programmation:python:prob2 [05/11/2018 05:09] (Version actuelle)
sky99
Ligne 1: Ligne 1:
 ====== Problème 2 ====== ====== Problème 2 ======
 +Réaliser un jeu de devinettes en python.
 +Le but est de deviner un nombre choisi aléatoirement par l'​ordinateur,​ en un nombre d’essais défini dans le code.
 +Le joueur à droit à 4 ou 8 tentatives selon la difficulté choisie.
 +Vous devez réaliser le programme entier par vous même, sans poser de questions à l'​enseignant,​ afin de vous
 +préparer aux conditions d'​examen.
 +Vous disposez de l'​accès à internet et de toutes les documentations qui s'y trouvent.
 +
 +===== Déroulement du jeu =====
 +Voici le déroulement d'une partie : 
 +  - L'​ordinateur demande au joueur de saisir son nom.
 +  - l'​ordinateur demande au joueur de choisir une difficulté (facile ou difficile)
 +  - l'​ordinateur choisit un nombre entre 0 et N_MAX (N_MAX est une valeur que vous définirez dans le code de votre programme) ​
 +  - L'​ordinateur demande au joueur de saisir une valeur (en utilisant son nom)
 +  - L'​ordinateur indique au joueur si la valeur saisie est plus grande ou plus petite que le nombre à deviner, ou si le nombre mystère à été trouvé.
 +  - Si le nombre mystère n'a pas été trouvé par le joueur, on recommence à l'​étape 3.
 +
 +Si le joueur dépasse le nombre de tentatives, un message indiquant que le joueur à perdu est affiché. ​
 +Si en revanche le joueur trouve la valeur avant le nombre maximum d'​essais autorisés, un message de victoire est affiché.
 +
 +===== Indications =====
 +
 +==== Nombres aléatoires ====
 +Pour générer un nombre aléatoire compris entre 0 et 100 (par exemple) en python, une méthode est de faire: ​
 +<code python>​nombre_mystere = random.randint(0,​ 100)</​code>​
 +
 +Pour que celà fonctionne, il ne faut pas oublier d'​importer le module random au début du code : 
 +<code python>​import random</​code>​
 +
 +**Liens**
 +  * [[https://​openclassrooms.com/​fr/​courses/​235344-apprenez-a-programmer-en-python/​234357-un-peu-de-mathematiques#/​id/​r-234356|Un peu de documentation sur les nombres aléatoires en python3 (fr)]]
 +  * [[https://​docs.python.org/​fr/​3/​library/​random.html|Documentation officielle du module random]]
 +
 +==== Saisie des valeurs par le joueur ====
 +
 +Vous devez vous assurer que le joueur saisisse des valeurs comprises entre 0 et N_MAX. Si la valeur saisie n'est pas dans l'​intervalle,​ un message d'​erreur est affiché, et on redemande la saisie. ​
 +Cette mauvaise saisie ne doit pas coûter un essai au joueur (s'il avait 3 tentatives restantes, et qu'il tape une valeur incorrecte, il doit toujours avoir 3 tentatives jusqu'​à ce qu'il saisisse une valeur correcte).
 +
 +==== Utilisation de fonctions ====
 +
 +Votre code doit être divisé en sous-fonctions,​ avec par notamment:
 +  * une fonction qui gère la saisie du nombre par le joueur, et qui s'​assure que la valeur saisie est dans l'​intervalle défini;
 +  * une fonction qui demande le nom du joueur
 +  * une fonction qui permet de saisir la difficulté,​ et qui s'​assure que le joueur saisisse une valeur autorisée
 +  * toute autre fonction qui vous semble nécessaire.
 +
 +==== Saisie de la difficulté ====
 +La difficulté peut prendre deux valeurs : facile ou difficile.
 +Pour cela le plus simple est de demander au joueur de saisir 1 pour facile, 2 pour difficile.
 +vous devez vous assurer que le joueur saisisse bien 1 ou 2!
 +Une fois une valeur valide saisie, le nombre maximum d'​essais sera défini dans une variable **max_essais** qui sera utilisée dans la suite du programme
 +
 +==== Structure du code ====
 +Le programme devra être structuré correctement,​ avec une fonction main et des commentaires comme nous l'​avons vu dans les précédents TP.
 +
 +
 +
 +
 +
 +
 +
 +
  
programmation/python/prob2.1541388239.txt.gz · Dernière modification: 05/11/2018 04:23 par sky99