True/ False anhand von Wahrscheinlichkeit bestimmen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Hallo,

ich möchte gerne eine viel zahl von Lottoziehungen simulieren. Dabei errechnet der Computer eine Wahrscheinlichkeits-Prognose für eine bestimme Zahl.
Beispiel:

Code: Alles auswählen

W[18] = 0.1823 # entspricht: 18.23 %ige Wahrscheinlichkeit
Nun soll der Computer zufällig, unter Berücksichtigung der Wahrscheinlichkeit eine Ja/Nein aussage machen. Dafür habe ich folgende Funktion geschrieben:

Code: Alles auswählen

def Ja_Nein(wahrscheinlichkeit):
    wahrscheinlichkeit = int(round(wahrscheinlichkeit, 2) * 100)
    menge = [True,] * wahrscheinlichkeit
    for _ in range(100-wahrscheinlichkeit):
        menge.append(False)
    return random.choice(menge)
Allerdings bin ich mit der Funktion so gar nicht zufrieden, da ich denke, dass das auch wesentlich einfacher geht. Jedoch fällt mir einfach kein ebesseren Weg ein.
Gibt es einen einfacheren Weg so eine Funktion zu implementieren?

Grüße,
microkernel
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Code: Alles auswählen

def yes_no(p):
    return random.random() < p
Stefan
Benutzeravatar
microkernel
User
Beiträge: 271
Registriert: Mittwoch 10. Juni 2009, 17:27
Wohnort: Frankfurt
Kontaktdaten:

Ohje... :D manchmal denke ich etwas kompliziert. Danke!
Antworten