Full House
Kehren wir zu unserem Poker-Spiel zurück. Beim letzten Mal haben wir die Wahrscheinlichkeit berechnet, mindestens ein Paar zu bekommen. Diesmal interessiert uns ein Full House. Ein Full House bedeutet, dass du zwei Karten verschiedener Farben mit demselben Zahlenwert und drei weitere Karten mit demselben (anderen) Zahlenwert erhältst (z. B. 2 Herz & Pik und Buben in Kreuz, Karo & Pik).
Ein Full House ist also die Wahrscheinlichkeit, genau Drillinge zu bekommen, unter der Bedingung, dass du genau ein Paar eines anderen Werts hast. Verwende denselben Code wie zuvor und passe die Erfolgsbedingung an, um das gewünschte Ergebnis zu erhalten. In dieser Übung lernst du, bedingte Wahrscheinlichkeiten in Kartenspielen zu schätzen und dir eine Grundlage dafür aufzubauen, abstrakte Probleme für Simulationen zu formulieren.
Diese Übung ist Teil des Kurses
Statistische Simulation in Python
Anleitung zur Übung
- Mische
deck_of_cards. - Verwende ein Dictionary mit
.get(), um die Anzahl der Vorkommen jeder Karte in der Hand zu zählen. - Erhöhe den Zähler
full_house, wenn ein Full House in der Hand ist (2 von einer Sorte, 3 von der anderen).
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Shuffle deck & count card occurrences in the hand
n_sims, full_house, deck_of_cards = 50000, 0, deck.copy()
for i in range(n_sims):
____
hand, cards_in_hand = deck_of_cards[0:5], {}
for card in hand:
# Use .get() method to count occurrences of each card
cards_in_hand[card[1]] = cards_in_hand.____(card[1], 0) + 1
# Condition for getting full house
condition = (max(cards_in_hand.values()) ==3) & (min(cards_in_hand.values())==2)
if condition:
full_house ____
print("Probability of seeing a full house = {}".format(full_house/n_sims))