Python: Wie kann ich unterschiedliche Wahrscheinlichkeiten beim Auswählen zufälliger Werte wirken lassen?
Hey Freunde,
ich arbeite gerade an einer einfachen Slot-Maschine.
Mein Problem: Ich will für die unterschiedlichen Symbole andere Wahrscheinlichkeiten. Nach etwas suchen habe ich nichts hilfreiches gefunden.
Ich habe hier einfach random.randint benutzt, aber wie mache ich hier unterschiedliche Wahrscheinlichkeiten beim Auswählen zufälliger Werte?
import random
display = []
symbols = ["7", "Diamond", "Bar"]
def random_symbol():
for i in range(3):
symbol = random.randint(0,2)
choosen_symbol = symbols[symbol]
display.append(choosen_symbol)
print(display)
2 Antworten
Ich finde Dokumentation meistens ungemein hilfreich.
Einfach die Liste, die Zahl der Ziehungen sowie ein Gewichtsvektor angeben udn gut is.
Am einfachsten ist es, wenn du eine Zufallszahl zwischen 0 und 1 ziehst und dann prüfst, in welchen Bereich sie fällt:
Wenn p < 0.2, dann "7"
Sonst Wenn p < 0.6, dann "Diamond"
Else ...
Hier hättest du quasi die Wahrscheinlichkeiten 20%, 40%, und 40% zugewiesen.
Alternativ könntest du dir über Scipy einen gewichteten Zufallsgenerator bauen, lohnt sich imho hierfür aber nicht
Benutz nicht kommazahlen, sondern ganze zahlen also integer.
Einfach das gleiche wie procoder gesagt hat, nur mit 0-100 als prozent und dann die gleichen abstände mit p<20 und p<60
gute Idee an kommazahlen habe ich gar nicht gedacht danke!