Boucle d'un jeu probleme [Résolu]

Signaler
Messages postés
2
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
7 novembre 2020
-
Messages postés
15400
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 janvier 2021
-
Bonjour,
J'ai un petit problème sur un programme python que je suis entrain de créer.
C'est un jeu où la machine prend un nombre au hasard entre 0 et 1000, quand je dis un nombre elle me répond + ou - et je veux que quand je trouve le bon nombre, j'ai la possibilité de rejouer sans relancer le programme sauf que dans mon programme, tout fonctionne à part une petite chose : si je rejoue le nombre aléatoire (n) ne change pas. En gros je peux rejouer sans relancer mon programme mais le nombre aléatoire reste le même. Merci d'avance.
Voici le programme :


Import random
continuer=True
N=random.randint(0, 1000)
X=int(input("saisir un nombre"))
While continuer :
        If X<N :
                Print("plus")
        Elif X>N:
                Print("moins")
        Else:
                Print("bravo!")
                Choix = input("voulez vous rejouer ?")
                If choix not in ('oui') :
                         Continuer=False
         X=int(input("saisir un nombre"))

3 réponses

Messages postés
579
Date d'inscription
mardi 16 avril 2013
Statut
Membre
Dernière intervention
18 janvier 2021
119
Salut !

Alors pour ça tu as plusieurs moyens... Le plus simple est sûrement d'ajouter un petit quelque chose à ta condition qui vérifie si le joueur veut rejouer ou non.
Ta condition actuelle est "Si choix n'est pas dans ("oui")" (Qui peut tout simplement se changer en if choix != "oui" d'ailleurs), pourquoi ne pas ajouter un else qui lui redéfinirait x ?

Je te donne un petit exemple que je viens de faire vite fait pour te montrer ce que je veux dire :
from random import randint

continuer = True

n = randint(0, 1000)

while continuer:
    x = int(input("Saisir un nombre"))
    if x < n:
        print("plus")
    elif x > n:
        print("moins")
    else:
        print("bravo!")
        choix = input("voulez vous rejouer ?")
        if choix == "oui":
            n = randint(0, 1000)
        else:
            continuer = False


Attention : while, print etc... ne prennent pas de majuscule en Python. Python utilise le snake_case (sans jeu de mots)

Messages postés
2
Date d'inscription
samedi 7 novembre 2020
Statut
Membre
Dernière intervention
7 novembre 2020

Merci beaucoup, c'est vrai que c'était tout bete
Messages postés
15400
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 janvier 2021
643
Bonsoir


Tout d’abord, pour poster un code python, il est impératif d’utiliser les balises de code, voir explications là https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

Merci à Baladur d’avoir édité ton message pour le rendre lisible.

Décrit ce qui se passe quand tu réponds oui.
Messages postés
15400
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
18 janvier 2021
643
Pense à marquer le sujet résolu