我對python比較新,所以我對代碼中的任何非常規性表示歉意。 我有一個函數返回一些值。我想重複這個函數n次並獲得n次迭代的輸出值的平均值(可能沒有定義一個新函數)。如何才能做到這一點?例如:如何平均一個函數的輸出值
def flip_coin(coins):
pr_head = 1
pr_tail = -1
options = (pr_head, pr_tail)
simulation = [[random.choice(options) for x in range(10)] for y in range(coins)]
rep = [i.count(1) for i in simulation]
m = min(rep)
ind_m = rep.index(m)
c_min = simulation[ind_m]
v_min = c_min.count(1)/10
return v_min
for i in range(n):
flip_coin(coins)
#take average over(v_min)
但是我不能訪問「v_min」外的函數範圍,並且當我迭代函數的函數內(與精確爲如上循環)我得到的錯誤:
RecursionError: maximum recursion depth exceeded while calling a Python object.
你不是從函數返回的任何值'foo',默認爲'無'。 –
如果最小,請發佈實際代碼。如果不是,請創建一個最小版本。同時發佈完整的追溯,或在遞歸錯誤的情況下,它的相關部分。如果你沒有返回它(+其他一些情況),你也將無法訪問函數外部的'some_output',至少不是沒有調試器... –
你必須包含[MCVE] - 小於_實際code_但比你所包含的更多。 –