Problème d'importation de modules [Fermé]

Signaler
Messages postés
7
Date d'inscription
samedi 3 octobre 2015
Statut
Membre
Dernière intervention
19 mars 2016
-
Messages postés
7
Date d'inscription
samedi 3 octobre 2015
Statut
Membre
Dernière intervention
19 mars 2016
-
Bonjour à tous !!

J'ai commencé la programmation en python il y a quelques semaines et je suis en train de réaliser un pendu avec enregistrement des scores. Ainsi, j'ai créé un module avec les fonctions nécessaires mais je n'arrive pas à l'importer.

Voici mon code :

nom = str(input("Votre nom : "))
nombre_de_chance = 8
résultat = 0
continuer_partie = "true"
while continuer_partie == "true":
    mot_a_trouvé = mot()
    print("Le mot a trouver comporte {} lettres".format(len(mot_a_trouvé)))
    mot_trouvé = "false"
    while mot_trouvé == "false":
        lettre_choisie = print("choisissez une lettre : ")
        mot_résultat = transformation_mot(lettre_choisie, mot_a_trouvé)
        print(mot_résultat)
        nombre_de_chance -= 1
        if mot_a_trouvé == mot_résultat:
            résultat += nombre_de_chance
            print("Bravo !! Vous avez trouvé le mot.")
            print("Votre score est de {}".format(résultat))
            mot_trouvé = "true"
        elif nombre_de_chance == 0:
            print("Vous avez perdu !!")
            if nombre_de_chance != 0:
                 print("Votre score est de {}".format(résultat))
            mot_trouvé = "true"
    sauvegarder_score(résultat)
    réponse = print("Voulez-vous continuer la partie ? (o/n)")
    if réponse == "o" or "0":
        continue
    else:
        continuer_partie = "false"
print("Merci d'avoir jouer !!")
if résultat != 0:
    print("Votre score est de {}".format(résultat))


voilà mon module :

""" Module rassemblant les fonctions du pendu"""
from random import choice
from Pendu import nom

def mot():
    """fonction choisissant un mot random"""
    liste_mot = ["chien", "chat", "poubelle", "ours", "bureau", "chaise", "code"]
    mot_trouvé = choice(liste_mot)
    return mot_trouvé

def transformation_mot(lettre_choisie, mot_a_trouvé):
    """fonction transformant le mot en fonction de la lettre choisie"""
    resultat = ""
    for lettre in mot_a_trouvé:
        if lettre_choisie == lettre:
            resultat += lettre
        else:
                resultat += "*"
    return resultat

def sauvegarder_score(résultat):
    """fonction souvegardant le score de l'utilisateur"""
    with open("scores", "ab"):
        dict_score = {}
        dict_score[nom] = résultat


et voilà l'erreur que je trouve au moment où il faut importer la fonction mot :

NameError: name 'mot' is not defined

2 réponses

Messages postés
4824
Date d'inscription
lundi 31 janvier 2011
Statut
Contributeur
Dernière intervention
26 mai 2020
1 115
Bonjour,

A vérifier:

Dans def (mot): le nom de variable mot_trouvé comporte un caractère accentué, interdit dans la syntaxe python, doù sans doute le message NameError

Cordialement
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 89588 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
samedi 3 octobre 2015
Statut
Membre
Dernière intervention
19 mars 2016

CA MARCHE !!

J'ai enlevé tous les accents et je n'est plus l'erreur.
Bon, j'ai encore plein de bugs mais c'est pas grave. :)

Merci pour ton aide !
Messages postés
9073
Date d'inscription
dimanche 22 août 2010
Statut
Contributeur
Dernière intervention
16 février 2020
2 218
Salut
il te manque des directives d'importation dans ton premier code comme tu l'as fait pour le code du module.

D'ailleurs j'ai un doute sur ces directives dans le code de ton module : quels sont les noms de tes fichiers Python ?
Messages postés
7
Date d'inscription
samedi 3 octobre 2015
Statut
Membre
Dernière intervention
19 mars 2016

Mon module s'appelle "Module" et le fichier contenant le jeu s'appelle "Pendu". J'ai oublié de coller la ligne d'importation dans Pendu : "from Module import * ".

Tu peux supprimer la ligne d'importation dans Module : "from Pendu import nom" : j'ai rajouter "nom" en argument de la fonction.