Réalisation du programme : le nombre mystère
Objectifs du programme
- L'objectif consiste à trouver le nombre mystère définit aléatoirement en début de partie.
- Le programme doit permettre de renseigner un nombre entier compris entre 1 et 100.
- Le programme indique si le nombre renseigné est plus petit ou plus grand.
- Le nombre de coups joués doit être indiqué à chaque demande mais aussi lors de l'affichage du résultat de la partie.
Contraintes du programme
- Si le nombre saisi est inférieur à 1 ou supérieur à 100, il ne doit pas être pris en compte.
- Si l'utilisateur saisi autre chose qu'un nombre entier, il ne doit pas être pris en compte.
- Lorsque l'utilisateur a trouvé le nombre mystère, il doit pouvoir choisir de relancer une partie ou quitter le programme.
Astuces
Voilà quelques fonctions qu'il faudra utiliser :
- La fonction input
- La fonction while
- Les conditions
- Caster une valeur, la transtyper
Correction de l'exercice par Alphorm
# Import de la bibliothèque random
import random
# Affichage du titre
titre = "Nombre mystère (1/100)"
print("*"*len(titre))
print(titre)
print("*"*len(titre))
# Nombre mystère
nb = random.randint(1,100)
# Nombre de coup
coups = 1
# Rejouer
replay = True
while replay:
# Boucle de jeu
while True:
choix = input(f"Tentative(S) : {coups} - Votre nombre ? ")
try:
choix = int(choix)
# Test si entre 1 et 100
if choix < 1 or choix > 100:
print("Vous devez renseigner un nombre entre 1 et 100.")
continue
except:
print("Vous devez renseigner un nombre entier...")
continue
# Incrémentation du compteur
coups += 1
# Test du nombre mystère
if choix == nb:
print(f"Bravo vous avez trouvé le nombre mystère {nb} en {coups-1} tentative.")
break
elif choix < nb:
print("Le nombre est plus grand.")
else:
print("Le nombre est plus petit.")
# Rejouer
rejouer = input("Voulez-vous rejouer (O/N) ? ")
if rejouer.upper()=="N":
replay = False
else:
print("")
# Nombre mystère
nb = random.randint(1,100)
# Nombre de coup
coups = 1