Odds of Getting Each Poker Hand (Royal, Quads, FH, Flush, Straight, Trips, 2-Pair, Pair)

Calculating the odds of being dealt specific hands in poker, specifically No Limit Hold ‘Em, (like a royal flush, straight flush, etc.) involves some basic combinatorics.

These calculations are based on a standard deck of 52 cards, without jokers.

The odds are calculated as the number of ways a specific hand can be dealt divided by the total number of possible 5-card hands.

Percentage Odds of Each Hand in Poker

Here are the calculated odds of being dealt each type of hand in poker:

  1. Royal Flush: Approximately 0.00015%
  2. Straight Flush (excluding Royal Flush): Approximately 0.001%
  3. Four of a Kind: Approximately 0.02%
  4. Full House: Approximately 0.14%
  5. Flush (excluding Straight Flushes): Approximately 0.2%
  6. Straight (excluding Straight Flushes): Approximately 0.4%
  7. Three of a Kind: Approximately 2.1%
  8. Two Pair: Approximately 4.8%
  9. Pair: Approximately 42.3%

These percentages reflect the likelihood of being dealt each type of hand from a shuffled standard deck of 52 cards in a 5-card poker game.

Odds (1/X) of Each Hand in Poker

Here are the odds of being dealt each type of hand in poker, expressed in the format “1 in X”:

  1. Royal Flush: 1 in 649,740
  2. Straight Flush (excluding Royal Flush): 1 in 81,218
  3. Four of a Kind: 1 in 4,165
  4. Full House: 1 in 694
  5. Flush (excluding Straight Flushes): 1 in 508
  6. Straight (excluding Straight Flushes): 1 in 255
  7. Three of a Kind: 1 in 47
  8. Two Pair: 1 in 21
  9. Pair: 1 in 2 (little bit less)

Python Code for Odds of Getting Each Poker Hand

from math import comb

# Total number of 5-card hands
total_hands = comb(52, 5)

# Calculating the odds
odds = {
"Royal Flush": 4 / total_hands,
"Straight Flush": (36 - 4) / total_hands, # Excluding royal flushes
"Four of a Kind": 13 * comb(4, 4) * comb(48, 1) / total_hands,
"Full House": 13 * comb(4, 3) * 12 * comb(4, 2) / total_hands,
"Flush": (4 * comb(13, 5) - 36) / total_hands, # Excluding straight flushes
"Straight": (10 * 4**5 - 36) / total_hands, # Excluding straight flushes
"Three of a Kind": 13 * comb(4, 3) * comb(12, 2) * 4**2 / total_hands,
"Two Pair": comb(13, 2) * comb(4, 2)**2 * 11 * 4 / total_hands,
"Pair": 13 * comb(4, 2) * comb(12, 3) * 4**3 / total_hands
}

odds_percentage = {hand: f"{100 * prob:.6f}%" for hand, prob in odds.items()}
odds_percentage

Related

Related Posts