Probleme de Global name not defined
Bonjour,
Voilà j'ai un problème, comme vous pouvez vous en douter.
Voici mon programme:
Code:
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:
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:
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