【发布时间】:2016-03-26 20:19:24
【问题描述】:
我想使用我在make_averaged 函数中定义的num_samples 变量。当我在fun_averaged 中使用变量时,它应该在其upper level 函数的范围内搜索它。
def make_averaged(fn, num_samples=1000):
def fun_averaged(*args) :
totalave = 0
savenum = num_samples
while not num_samples == 0:
totalave = fn(*args) + totalave
num_samples -= 1
avetagevalue = totalave/savenum
return avetagevalue
return fun_averaged
但是我得到一个错误
while not samples1 == 0:
UnboundLocalError: local variable 'samples1' referenced before assignment
【问题讨论】:
-
这里不是只有一个功能更简单吗?
-
显示的代码中似乎没有出现错误。
-
那么你在哪里定义
samples1? -
你没有向
fun_averaged()传递任何参数。