Funktionen prozentual auswählen

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
pythonist87
User
Beiträge: 3
Registriert: Mittwoch 22. September 2021, 10:58

Hallo zusammen,

bei der Bearbeitung meiner Hausaufgaben bin ich auf ein Problem gestoßen und hab bisher leider noch keine Lösung gefunden. Ich hoffe ihr könnt mir weiterhelfen.
Bei meinem Programm bauen mehrere Funktionen aufeinander auf und nach dem durchlaufen der einen wird auf die nächste zugegriffen.
Nun soll die Auswahl der nächsten Funktion aber prozentual gesteuert werden. Zu 30 Prozent der Fälle soll auf Funktion a zugegriffen werden und zu 70% auf Funktion b.
Wie kann ich dieses Problem unkompliziert lösen?

Vorab schonmal Danke:)
Grüße! :)
Benutzeravatar
__blackjack__
User
Beiträge: 13061
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@pythonist87: Mit `random.choices()` könnte man das so machen:

Code: Alles auswählen

In [43]: n = 1_000                                                              

In [44]: def f_a(): return 0                                                    

In [45]: def f_b(): return 1                                                    

In [46]: xs = [random.choices([f_a, f_b], [30, 70])[0]() for _ in range(n)]     

In [47]: sum(xs) / n                                                            
Out[47]: 0.707
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten