[Tutor] What's the problem with my SpinSpeeds.py?

Dick Moores rdm at rcblue.com
Sun Aug 1 18:36:43 CEST 2004


Why am I unable to use countUsingRange(n) instead of countUsingRange(25000)?

When I do so, I get

Traceback (most recent call last):
   File "C:/Python23/1.py", line 17, in -toplevel-
     rangeTime = t.timeit(repetitions)
   File "C:\Python23\lib\timeit.py", line 158, in timeit
     return self.inner(it, self.timer)
   File "<timeit-src>", line 6, in inner
NameError: global name 'n' is not defined

Is this fixable?

Dick

=====================================
#SpinSpeeds.py

def countUsingRange(n):
     for i in range(n):
         pass

def countUsingXrange(n):
     for i in xrange(n):
         pass

if __name__=='__main__':
     from timeit import Timer
     repetitions = 1000
     n = 25000

     t = Timer("countUsingRange(25000)", "from __main__ import 
countUsingRange")
     rangeTime = t.timeit(repetitions)

     t = Timer("countUsingXrange(25000)", "from __main__ import 
countUsingXrange")
     xrangeTime = t.timeit(repetitions)

     print " range(%d) time = %f for %d repetitions" % (n, rangeTime, 
repetitions)
     print "xrange(%d) time = %f for %d repetitions" % (n, xrangeTime, 
repetitions)
========================================== 



More information about the Tutor mailing list