make_averaged
関数で定義したnum_samples
変数を使用します。 fun_averaged
で変数を使用するときは、upper level
の機能の範囲で変数を検索する必要があります。上位レベル関数の変数を使用する
while not num_samples == 0:
totalave = fn(*args) + totalave
num_samples -= 1
へ:
for _ in range(num_samples):
totalave = fn(*args) + totalave
が助けるべき
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
ここでは1つの機能だけが簡単になるわけではありませんか? –
示されているコードでは、エラーは発生していないようです。 –
そこで 'samples1'はどこで定義しますか? – timgeb