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 :

Probleme de Global name not defined [Python 2.X]


Sujet :

Python

  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2013
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2013
    Messages : 33
    Par défaut Probleme de Global name not defined
    Bonjour,

    Voilà j'ai un problème, comme vous pouvez vous en douter.
    Voici mon programme:

    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
    34
     
    import time
     
    def temps_A_TU():
    	a=time.localtime()
    	b=a[3]*3600
    	c=a[4]*60
    	d=a[5]
    	A_TU=b+c+d
    	return A_TU
     
    def temps_A_TUI():
    	a=time.localtime()
    	b=a[3]*3600
    	c=a[4]*60
    	d=a[5]
    	A_TUI=b+c+d
    	return A_TUI
     
    def test():
    	A_TUI=temps_A_TUI()
    	print(A_TUI)
    	time.sleep(10)
    	return A_TUI
     
    def test_2():
    	A_TU=temps_A_TU()
    	print(A_TU)
     
    	rep=(A_TU - A_TUI)
    	print(rep)
     
    test()
    test_2()
    et donc j'ai ça quand je le lance:

    35281
    35291

    Traceback (most recent call last):
    File "C:\Users\ind00315\Desktop\new 2.py", line 33, in <module>
    test_2()
    File "C:\Users\ind00315\Desktop\new 2.py", line 29, in test_2
    rep=(A_TU - A_TUI)
    NameError: global name 'A_TUI' is not defined



    le but de ce programme est de mettre dans la variable A_TUI un x qui ne change pas et par la suite mettre un temps y dans A_TU.
    Après ça, je doit faire une boucle sur A_TU qui va changer y jusqu’à, par exemple, A_TU - A_TUI > 20 (sec). Donc t'en que la condition n'est pas faite, on continue la boucle.
    J'avais fait ce programme:
    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
     
    import time
     
    def temps_A_TU():
    	a=time.localtime()
    	b=a[3]*3600
    	c=a[4]*60
    	d=a[5]
    	A_TU=b+c+d
    	return A_TU
     
    def temps_A_TUI():
    	a=time.localtime()
    	b=a[3]*3600
    	c=a[4]*60
    	d=a[5]
    	A_TUI=b+c+d
    	return A_TUI
     
     
    A_TUI=temps_A_TUI()
    print(A_TUI)
    time.sleep(10)
    A_TU=temps_A_TU()
    print(A_TU)
    rep=(A_TU - A_TUI)
    print(rep)
    qui lui me fait ce que je veut et donc on a:

    >>>
    36036 <-A_TUI
    36046 <-A_TU
    10 <- la différence
    >>>

    Vous allez vous dire qu'il n'y a pas de problème donc ! mais ce qu'il me faut c'est que le A_TUI et A_TU soit dans 2 def différent et sans rien dans les()

    voici un exemple qui peut vous aidez

    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
     
    import time
     
    a=0
     
    def temps_A_TUI():
    	#calcule de A_TUI en seconde
     
    def temps_A_TU():
    	#calcule de A_TU en seconde
     
    def programme_1():
    	#par exemple
    	if a=1:
    		print('coucou')
    	else:
    		A_TUI=temps_A_TUI
     
    def programme_2():
    	A_TU=temps_A_TU
     
    	if (A_TU - A_TUI)> 20:
    		print('ok')
    	else:
    		programme_2()
    merci à vous
    cordialement

  2. #2
    Membre émérite
    Homme Profil pro
    Aucune activité
    Inscrit en
    Novembre 2011
    Messages
    505
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Aucune activité

    Informations forums :
    Inscription : Novembre 2011
    Messages : 505
    Par défaut
    Bonjour,
    Il suffit de rajouter
    "global A_TUI"
    à la ligne 21 sur le premier exemple (pour, comme le nom l'indique, rendre la variable A_TUI globale).

    Clodion

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [noob] global name not defined
    Par tiresias54 dans le forum Général Python
    Réponses: 3
    Dernier message: 15/10/2013, 10h43
  2. Global name is not define?
    Par Enzymus dans le forum Général Python
    Réponses: 7
    Dernier message: 16/08/2011, 20h04
  3. 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
  4. références croisées objets NameError: global name is not defined
    Par loicmidy dans le forum Général Python
    Réponses: 2
    Dernier message: 13/06/2009, 15h41
  5. NameError: global name 'entr2' is not defined
    Par noquioz dans le forum Tkinter
    Réponses: 18
    Dernier message: 24/11/2008, 11h20

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