Anzahl der Ziehungen bis von 11 Zahlen alle gezogen wurden
Es geht im untenstehenden Code um die Anzahl der Ziehungen, die es braucht bis alle Elemente (bei uns Zahlen) aus 11 verfügbaren gezogen wurden. Dabei werden nach jeder Ziehung die Elemente wieder zurückgelegt, also man zieht bei jeder Ziehung aus allen am Beginn verfügbaren. Das folgende Python-Programm simuliert sowohl die Wartezeit bis alle 11 Zahlen gezogen wurden (1000x), berechnet aber auch die Durchschnittszeit von 1000 Ziehungen.Anmerkung: Das Programm ist angelehnt an das Programm Ziehungen bis zum ersten Vierer beim Lotto (Simulation), von dessen Code ausgegangen und Veränderungen vorgenommen wurden.
# ZIEHUNG VON 11 ZAHLEN: DAUER BIS ALLE GEZOGEN (IM DURCHSCHNITT) # Code von Lobnig und Melcher import random maxRange = 1000 summe = 0 for i in range(1, maxRange): tipp = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11] #Zahlen meines Tipps (ohne 0 davor!) gewinntipp=[] anzahlziehungen = 0 richtige=0 while richtige<11: #solange keine 11 Richtigen, mache Ziehung und Überprüfe #Ziehung durchführen gezogen=random.randint(1,11) if not(gezogen in gewinntipp): #nur hinzufügen, wenn noch nicht gezogene Zahl gezogen gewinntipp.append(gezogen) anzahlziehungen += 1 #print "Ziehung ", anzahlziehungen, ": ", gewinntipp #UND überprüfe bisherig gezogene Zahlen auf Richtige richtige = 0 for j in gewinntipp: if j in tipp: richtige += 1 #wenn 11 Richtige wird keine Ziehung mehr ausgeführt => ENDE print "Anzahl der bisherigen Ziehungen bis alle 11 Zahlen gezogen: ", anzahlziehungen summe = summe + anzahlziehungen print "Durchschnitt: ", summe/maxRange