#----- DorFuchs 2016 -----# from random import randint import matplotlib.pyplot as plt anzahl = 18 #Anzahl der Teams verteilung = [45,25,30] #Verhältnis Heimsieg, Unentschieden, Auswärtssieg n = 10000 #Anzahl der Simulationen statistik = [] for k in range(n): punkte = [0]*anzahl for i in range(anzahl): for j in range(anzahl): if i != j: p = randint(1, sum(verteilung)) if p <= verteilung[0]: punkte[i] += 3 elif p <= verteilung[0] + verteilung[1]: punkte[i] += 1 punkte[j] += 1 else: punkte[j] += 3 punkte.sort() statistik.append(punkte[anzahl-1]) #ggf andere Auswertung #Fortschrittsanzeige if k%1000 == 0: print(k) plt.figure(figsize=(16,9)) plt.hist(statistik, bins=range(min(statistik),max(statistik)), normed=True) plt.xlabel("Punkte des Erstplatzierten") plt.ylabel("relative Häufigkeit") plt.title(str(anzahl) + " Teams, Verteilung der Ergebnisse: " + str(verteilung) + ", " + str(n) + " Durchläufe, Durchschnitt: " + str(float(sum(statistik))/n) ) plt.show()