|   | 1 |  initial version  | 
As far as n is in the global namespace, the error message of your example is misleading. My example below gives the error message:
NameError: global name 'k' is not defined
def T(k):
    top = ceil(math.sqrt(k))
    print top   
@interact
def _(k=6739815371):
    timeit('T(k)')
So timeit apparently looks in the global namespace.
My first try was:
@interact
def _(k=6739815371):
    global k
    timeit('T(k)')
Traceback (most recent call last): def _(k=6739815371): File "", line 1, in <module> File "/tmp/tmpVWF0nv/___code___.py", line 8 @interact SyntaxError: name 'k' is local and global
So we have to outwit the @interact function:
@interact
def _(k0=6739815371):
    global k
    k = k0
    timeit('T(k)')
 Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.
 
                
                Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.