IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Aide sur une fonction


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide sur une fonction
    Bonjour j’ai créé une fonction qui permet à l’utilisateur de rentrer son prénom dans un champ de saisie. Le prénom une fois saisie est censé servir à une autre fonction, fin de partie, le prénom du joueur s’affiche dans la fenêtre de fin de partie, or cela ne fonctionne pas la fenêtre de fin s'affiche intégralement sauf que le prénom ne s'affiche pas et je ne comprends pas pourquoi car j’ai déclaré comme il le fallait j’espère que vous pouvez m’aider, Cindy

    je vous mets le bout correspondant mon code si dessous si vous voulez comprendre ce que je veux dire, certaines variables sont issus de mon programme d'origine donc si vous avez un doute n’hésitez pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    nom = ""
    def début_de_partie():
        global nom
        fenetre3 = tk.Tk()
        text = Label(fenetre3, text = "Rentre ton prénom :")
        text.pack()
        nom_utilisateur_entre = tk.Entry(fenetre3)
        nom_utilisateur_entre.pack()
        def saisie():
            print (nom_utilisateur_entre.get())
            nom = nom_utilisateur_entre.get()
            fenetre3.destroy()
     
        valider = Button(fenetre3, text = "Valider", command = saisie)
        valider.pack()
     
        fenetre3.mainloop()
        print (saisie())
        return nom_utilisateur_entre
     
    def fin_de_partie():
        global nom
        if len (carte_joueur_1)== 0:
            print ("Tu as gagné la partie, bravo")
            fenetre2 = tk.Tk ()
            texte1 = Label(fenetre2, text = "Tu as gagné la partie, bravo")
            texte2 = Label(fenetre2, text = nom)
            quitter = Button(fenetre2, text = "Quitter", command = fenetre2.destroy)
            texte1.pack()
            texte2.pack()
            quitter.pack()
            uno.destroy()
            fenetre2.mainloop()

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,
    Si vous écrivez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        def saisie():
            print (nom_utilisateur_entre.get())
            nom = nom_utilisateur_entre.get()
            fenetre3.destroy()
    "nom" n'est qu'une variable locale à cette fonction là (même si vous avez des variables globales du même nom).
    Remplacez:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
           valider = Button(fenetre3, text = "Valider", command = saisie)
    par:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          valider = Button(fenetre3, text = "Valider", command = fenetre3.quit)
    puis virez la fonction "saisie" pour faire le boulot après .manloop():
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        fenetre3.mainloop()
        nom = nom_utilisateur_entre.get()
        fenetre3.destroy()
        return nom
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Mars 2018
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 24
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2018
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup ma fonction marche j'ai compris mon erreur

Discussions similaires

  1. Aide sur une fonction excel
    Par vanessb dans le forum Excel
    Réponses: 9
    Dernier message: 27/11/2008, 10h11
  2. aide sur une fonction
    Par haymen dans le forum C#
    Réponses: 7
    Dernier message: 11/09/2008, 22h14
  3. Aide sur une fonction sous Visual C++ .NET
    Par mog83 dans le forum C++
    Réponses: 0
    Dernier message: 22/04/2008, 15h17
  4. Aide sur une fonction / pbm de manipulation de caractère
    Par captainamerica75 dans le forum Access
    Réponses: 3
    Dernier message: 16/02/2006, 11h54
  5. Besoin d'aide sur une fonction
    Par PrinceMaster77 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/08/2005, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo