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 :

name 'x'' is not defined


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    physicien
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : physicien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut name 'x'' is not defined
    Bonjour à tous,

    Je définis une variable comme ceci pour associer la valeur entrée dans l'interface Tkinter à ma variable "CP_min" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    def press_CP_min():
          choix=entr1.get()
          CP_min='%s'%(choix)
          print ('CP_min =',CP_min)
    le print indiqué en dernière m'affiche bien la valeur rentrée pour la variable 'CP_min'.

    Or lorsque je rappelle CP_min dans une autre fonction le message 'NameError: name 'CP_min' is not defined' apparait.

    Auriez vous une idée pour garder la valeur associée à ma variable?

    Merci par avance!

    Cordialement,

    J.

  2. #2
    Membre émérite

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Points : 2 328
    Points
    2 328
    Par défaut
    La fonction ne retourne rien, elle ne fait qu'afficher CP_min. Donc en dehors de cette fonction CP_min n'existe pas.
    Il faut que la fonction retourne CP_min si vous voulez l'exploiter en dehors de celle-ci.

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 300
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 300
    Points : 6 780
    Points
    6 780
    Par défaut
    Salut,

    Tu as créé CP_min dans l'espace de nom de la fonction press_CP_min() et il y est confiné.
    Donc détruit lorsque la fonction quitte.

    Soit tu crées une global pour accueillir cette valeur, soit tu refais un choix=entr1.get() dans la deuxième fonction.

  4. #4
    Candidat au Club
    Homme Profil pro
    physicien
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : physicien
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut Ca marche! =)
    Niquel!

    Merci

Discussions similaires

  1. NameError: global name 'thread' is not defined
    Par Balbuzard dans le forum Général Python
    Réponses: 6
    Dernier message: 15/07/2009, 06h52
  2. Réponses: 4
    Dernier message: 19/06/2009, 15h23
  3. NameError: name 'nbBug' is not defined
    Par titi_lion dans le forum Général Python
    Réponses: 1
    Dernier message: 15/05/2009, 12h32
  4. NameError: global name 'entr2' is not defined
    Par noquioz dans le forum Tkinter
    Réponses: 18
    Dernier message: 24/11/2008, 11h20
  5. NameError: name 'excel' is not defined
    Par billyrose dans le forum Général Python
    Réponses: 3
    Dernier message: 14/07/2008, 17h37

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