我正在嘗試使用Python與matplotlib進行繪圖。我有一個函數streaks()
,其中包含n
布爾值的列表,其概率p
獲得'True',並返回連續條形列表。例如,[True, False, True, True, False]
產生[1, 1, 2, 1]
。使用嵌套循環在Python中繪製陰謀
我需要爲n的每個值(從0到400以10爲增量)使用此函數500次。對於每個n值的500次試驗,我需要找到最大連續條數,然後取500次試驗的平均值。
然後,我應該有的最終情節的x軸代表n
,y軸代表平均最大連勝數。
出於某種原因,我的代碼沒有做我想做的事,我覺得我有所有的組件。任何幫助,將不勝感激。謝謝!
def averagemaximums():
maxvals = []
avgmaxvals = []
for j in range(500):
for n in range(0, 400, 10):
maxvals.append(max(streaks(0.5, n)))
a = (sum(maxvals))/(500)
avgmaxvals.append(a)
plot(avgmaxvals)
show()
編輯:額外信息的要求:
#Makes list of bools
def bools(p, n):
return (rand(n) < p)
#Makes list that counts successive values
def streaks(p, n):
run = bools(p, n)
successionlist = []
counter = 1
for j in range(1, n):
if run[j] == run[j - 1]:
counter = counter + 1
else:
successionlist.append(counter)
counter = 1
successionlist.append(counter)
return successionlist
請張貼[最小,完整,測試和可讀示例](http://stackoverflow.com/help/mcve)。用更少的話來說,我們可以運行後綴代碼(添加'條紋(...)'定義),所以我們更容易幫助你。 – Christian
@Christian對不起,我編輯了這個問題。希望現在已經很清楚了。 – user2901181
@Christian我再次編輯它。我忘記了最後兩行。我沒有收到任何錯誤。只是一個錯誤的情節。 – user2901181