Nombre magique [Résolu]

Signaler
Messages postés
4
Date d'inscription
jeudi 13 mai 2021
Statut
Membre
Dernière intervention
16 mai 2021
-
Messages postés
1076
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 juin 2021
-
Bonjour,
j'essaye de faire un jeu nombre ou magique. Et j'aimerais faire une boucle while, est-il possible de faire boucle while avec not ? Car ça en marche pas et j'ai un message d'erreur:
File "C:\Users\Moi\PycharmProjects\nombre_magique\main.py", line 10
while not nb_essayer = NOMVRE_MAGIQUE:
^
SyntaxError: invalid syntax


def demander_nombre(nb_min, nb_max):
    while not nb_essayer = NOMVRE_MAGIQUE:
        print("Trouver le nombre magiqiue, il est entre " + str(nb_min) + " et " + str(nb_max) + ".")
        nb_essayer = input("->")
        if nb_essayer == NOMVRE_MAGIQUE:
            print("Bravo, vous avez trouvé !")
        elif nb_essayer < NOMVRE_MAGIQUE:
            print("Le nombre magique est plus grand que " + nb_essayer + ".")
        else:
            nb_essayer > NOMVRE_MAGIQUE:
        print("Le nombre magique est plus petit que " + nb_essayer + ".")

Merci

6 réponses

Messages postés
16024
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 juin 2021
708
à tout hasard

while truc != machin:

Messages postés
16024
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 juin 2021
708
cela dit un simple égal sert à l'affectation, pour la comparaison c'est double égal
Messages postés
4
Date d'inscription
jeudi 13 mai 2021
Statut
Membre
Dernière intervention
16 mai 2021

Bonjour,
merci, j'ai essayé et maintenant j'ai un autre message d'erreur:File "C:\Users\Moi\PycharmProjects\nombre_magique\main.py", line 19
nb_essayer > NOMVRE_MAGIQUE:
^
SyntaxError: invalid syntax

def demander_nombre(nb_min, nb_max):
    NOMVRE_MAGIQUE = 5
    while nb_essayer != NOMVRE_MAGIQUE:
        print("Trouver le nombre magiqiue, il est entre " + str(nb_min) + " et " + str(nb_max) + ".")
        nb_essayer = input("->")
        if nb_essayer == NOMVRE_MAGIQUE:
            print("Bravo, vous avez trouvé !")
        elif nb_essayer < NOMVRE_MAGIQUE:
            print("Le nombre magique est plus grand que " + nb_essayer + ".")
        else:
            nb_essayer > NOMVRE_MAGIQUE:
        print("Le nombre magique est plus petit que " + nb_essayer + ".")


merci .
Messages postés
16024
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
12 juin 2021
708
A quelle ligne du code sur le site correspond ta ligne 19?
Messages postés
4
Date d'inscription
jeudi 13 mai 2021
Statut
Membre
Dernière intervention
16 mai 2021

     nb_essayer > NOMVRE_MAGIQUE:
Messages postés
1076
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 juin 2021
120
Bonjour,

C'est plutot

elif nb_essayer > NOMVRE_MAGIQUE:
        print("Le nombre magique est plus petit que " + nb_essayer + ".")


de plus, ce serait plutot NOMBRE_MAGIQUE que NOMVRE_MAGIQUE
et nb_essaye ...
Messages postés
4
Date d'inscription
jeudi 13 mai 2021
Statut
Membre
Dernière intervention
16 mai 2021

J'ai toujours la même erreur.
Messages postés
1076
Date d'inscription
lundi 23 mars 2020
Statut
Membre
Dernière intervention
12 juin 2021
120
Bonjour,

tu as écrit:

    while nb_essayer != NOMVRE_MAGIQUE:


mais nb_essayer n'est pas initialisé, donc on ne peut le comparer a NOMVRE_MAGIQUE !

Ca, ça marche:
def demander_nombre(nb_min, nb_max):
    global nb_test

    NOMBRE_MAGIQUE = 5
    while nb_test != NOMBRE_MAGIQUE:
       print("Trouver le nombre magique, il est entre {} et {}".format(nb_min, nb_max))
        nb_test = int(input("->"))
        if nb_test == NOMBRE_MAGIQUE:
            print("Bravo, vous avez trouvé !")
        elif nb_test < NOMBRE_MAGIQUE:
            print("Le nombre magique est plus grand que {}".format(nb_test))
        elif nb_test > NOMBRE_MAGIQUE:
            print("Le nombre magique est plus petit que {}".format(nb_test))

nb_test = 0
demander_nombre(0,50)