Résolue

Le nombre mystère : ma solution

# Boucles # Correction de code # Variables

Gabriel Trouvé

Mentor

Bonjour ou plutôt bonsoir :

Je viens de terminer le projet du nombre mystère. Avant de regarder la solution j'aurais souhaité vos avis.

Est-ce que je peux améliorer qqchose ? J'ai testé ça fonctionne.

Merci d'avance


import random as rd


NOMBRE_MYSTERE = rd.randint(0, 100)
ESSAIS_RESTANT = 5
ESSAIS = 0
print(f"""*** Le jeu du nombre mystère ***
Il te reste {ESSAIS_RESTANT} essais.""")


while True:
    if ESSAIS_RESTANT == 0:
            print(f"""Dommage ! Le nombre mystère était {NOMBRE_MYSTERE}.
            Fin du jeu.""")
            break


    nombre_utilisateur = ""
    while not nombre_utilisateur.isdigit():
        nombre_utilisateur = input("Devine le nombre : ")
        if not nombre_utilisateur.isdigit():
            print("Veuillez entrer un nombre valide.")
    
    nombre_utilisateur = int(nombre_utilisateur)
    
    if nombre_utilisateur == NOMBRE_MYSTERE:
        ESSAIS += 1
        print(f"""Bravo ! Le nombre mystère était bien {NOMBRE_MYSTERE} !
        Tu as trouvé le nombre en {ESSAIS} essais.
        Fin du jeu.""")
        break
    elif nombre_utilisateur < NOMBRE_MYSTERE:
        ESSAIS_RESTANT -= 1
        ESSAIS += 1
        if ESSAIS_RESTANT > 0:
            print(f"Il te reste {ESSAIS_RESTANT} essais.")
            print(f"Le nombre mystère est plus grand que {nombre_utilisateur}")
    elif nombre_utilisateur > NOMBRE_MYSTERE:
        ESSAIS_RESTANT -= 1
        ESSAIS += 1
        if ESSAIS_RESTANT > 0:
            print(f"Il te reste {ESSAIS_RESTANT} essais.")
            print(f"Le nombre mystère est plus petit que {nombre_utilisateur}")

Salut Gabriel, quelques idées :

  • Afficher à l'utilisateur l'intervalle dans lequel il doit faire une proposition et vérifier que sa saisie s'y trouve bien.
  • Proposer à la fin d'une partie de recommencer.
  • Découper ton code avec des fonctions.


Bon Python !

Gabriel Trouvé

Mentor

Je viens de regarder la solution de Thibaut. J'ai fait qqchose de différent mais ça fonctionne quand même.

Les fonctions je vois à peu près comment ça fonctionne mais je n'en suis pas encore là.

Je vais attaquer le jeu de rôle.

Bonjour, ayant obtenu quasiment le même résultat que Gabriel sur cet exercice ça m'intéresse également de savoir comment améliorer ce code avec les fonctions (chapitre que je viens de commencer).

Hello,


tout à fait d'accord avec les proposition de Romain,


ensuite tu pourrais aussi mettre ton code sous forme de class. Ici tu aurais un attribut self.attribut que tu pourrais mètre à jour au fur et à mesure du jeu.


Reviens avec cet exercice quand tu auras travaillé les fonctions et encore une fois ensuite quand tu auras travaillé les classes. 😊


Bonne progression !

Gabriel Trouvé

Mentor

Merci à tous ! Je suis content de l'avoir réussi en tt cas je vais attaquer le jeu de rôle !

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.