Я хочу использовать переменную num_samples
, которую я определил в функции make_averaged
. Когда я использую переменную в 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'? – timgeb