ÎncepețiÎncepe gratuit

Full house

Să revenim la jocul nostru de poker. Data trecută, am calculat probabilitatea de a obține cel puțin o pereche. De data aceasta, suntem interesați de un full house. Un full house înseamnă că ai două cărți de culori diferite cu aceeași valoare numerică și alte trei cărți care au aceeași valoare numerică (de exemplu, 2 de inimi și 2 de pică, plus valeți de treflă, caro și pică).

Așadar, un full house reprezintă probabilitatea de a obține exact trei cărți de același fel, condiționată de obținerea a exact două cărți de același fel dintr-o altă valoare. Folosind același cod ca înainte, modifică condiția de succes pentru a obține rezultatul dorit. Acest exercițiu te va ajuta să estimezi probabilități condiționate în jocurile de cărți și să îți consolidezi baza pentru formularea problemelor abstracte în simulări.

Acest exercițiu face parte din cursul

Simulare statistică în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Amestecă deck_of_cards.
  • Folosește un dicționar cu .get() pentru a număra aparițiile fiecărei cărți din mână.
  • Incrementează contorul full_house atunci când există un full house în mână (2 cărți de un fel, 3 de celălalt).

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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))
Editează și rulează codul