[noob] global name not defined
Bonjour,
Le code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| #!/usr/bin/env python
#-*- coding:utf8 -*-
from timeit import Timer
def xn_naif(x,n):
res=1.
i=n
while i != 0:
res *= x
i -= 1
return res
print "resultat = ",xn_naif(2,2)
t0 = Timer('xn_naif(2,2)').timeit(10000000) |
me renvoie l'erreur suivante:
Code:
1 2 3 4 5 6 7 8
| resultat = 4.0
Traceback (most recent call last):
File "./essai.py", line 27, in ?
t0 = Timer('xn_naif(2,2)').timeit(10000000)
File "/usr/lib64/python2.4/timeit.py", line 161, in timeit
timing = self.inner(it, self.timer)
File "<timeit-src>", line 6, in inner
NameError: global name 'xn_naif' is not defined |
Lorsque j'apelle la fonction xn_naif dans le print ça fonctionne, mais l'appel dans le Timer plante... Pourquoi? :calim2:
Je pense qu'il faudrait définir xn_naif dans le Timer, mais n'y a-t-il pas une manière de faire comprendre à l'interpreteur que xn_naif est déjà définie?