Je fait un jeu de pendu mais j'ai une erreur de varriabale.

Résolu/Fermé
Multi73 Messages postés 88 Date d'inscription dimanche 13 septembre 2020 Statut Membre Dernière intervention 4 mai 2022 - Modifié le 26 juin 2021 à 16:42
Multi73 Messages postés 88 Date d'inscription dimanche 13 septembre 2020 Statut Membre Dernière intervention 4 mai 2022 - 26 juin 2021 à 18:54
Bonjour,
Je fais un jeu de pendue (il est loin d'être fini), mais pour savoir si la première étape du programme marché j'ai affiché le mots à trouver et quand je mets le mots que je devrait trouver, le programme me dit que je ne l'ai pas trouver.
Pouvez vous m'aider ?
Voici mon programme :
import random
import time
with open("Pendu.txt", "r+") as file:
    word_lists = file.readlines()
    word_lists_choice = random.choice(word_lists)
    print(word_lists_choice)
answer = input("Quel est le mots ?")

if answer == "word_list_choice":
    print("Bravo tu as trouver le mots !")
    time.sleep(5)
    file.close()

if answer != "word_list_choice":
    print("Tu n'as pas trouver le mots")
    time.sleep(5)
    file.close()


Merci !
(Normalement vous n'avez pas besoin du fichier texte pour m'aider, mais si vous le voulais je vous le donnerai volontiers).
A voir également:

3 réponses

jee pee Messages postés 39577 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 220
Modifié le 26 juin 2021 à 17:23
Bonjour,

Plusieurs soucis.

if answer == "word_list_choice": 
là tu ne testes pas la variable, avec les " " tu testes une chaine qui contient le nom de la variable

et en plus le nom de variable n'est pas le bon ! regardes plus haut quand tu la crées.

après une petite particularité d'une variable récupérée d'un fichier, la valeur de la variable comporte le caractère fin de ligne derrière la chaine, il faut l'enlever.


0
Multi73 Messages postés 88 Date d'inscription dimanche 13 septembre 2020 Statut Membre Dernière intervention 4 mai 2022 2
26 juin 2021 à 17:57
Merci j'ai réussi a modifier quelque truc, mais pas tout :


import random
import time
with open("Pendu.txt", "r+") as file:
    word_lists = file.readlines()
    word_lists_choice = random.choice(word_lists)
    print(word_lists_choice)
answer = input("Quel est le mots ?")

if answer == word_list_choice:
    print("Bravo tu as trouver le mots !")
    time.sleep(5)
    file.close()

if answer != word_list_choice:
    print("Tu n'as pas trouver le mots")
    time.sleep(5)
    file.close()



Mais je n'ai pas compris ce que vous m'avais dit enfin un peu mais je ne sait pas le faire :
après une petite particularité d'une variable récupérée d'un fichier, la valeur de la variable comporte le caractère fin de ligne derrière la chaine, il faut l'enlever.

Pouvez vous me montrer ?
Merci
0
jee pee Messages postés 39577 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 16 avril 2024 9 220
Modifié le 26 juin 2021 à 18:40
en 9 et 14 tu n'as pas corrigé le nom de la variable comme crée en 5 !

tu devrais rajouter un
print(word_lists)
tu verras que chaque valeur se termine par
\n
un
.rstrip()
peut l'enlever (il existe différentes méthodes pour supprimer ce caractère fin de ligne)

et on peut améliorer ton code en :
import random
import time
with open("Pendu.txt", "r+") as file:
    word_lists = file.readlines()
    print(word_lists)
    word_lists_choice = random.choice(word_lists)
    word_lists_choice = word_lists_choice.rstrip()
    print(word_lists_choice)
    answer = input("Quel est le mot ? ")

    if answer == word_lists_choice:
        print("Bravo tu as trouvé le mot !")
    else: 
        print("Tu n'as pas trouvé le mot")
    time.sleep(5) 


0
Multi73 Messages postés 88 Date d'inscription dimanche 13 septembre 2020 Statut Membre Dernière intervention 4 mai 2022 2
26 juin 2021 à 18:54
Merci beaucoup !
0