Bonjour,
Le code
me renvoie l'erreur suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
Lorsque j'apelle la fonction xn_naif dans le print ça fonctionne, mais l'appel dans le Timer plante... Pourquoi?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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?
Partager