En el juego de cartas póker, una mano consta de cinco cartas y se clasifica, de menor a mayor, de la siguiente manera:
| N.º | Clasificación de la mano | Explicación |
|---|---|---|
| 1 | Carta alta | La carta de mayor valor. |
| 2 | Una pareja | Dos cartas del mismo valor. |
| 3 | Dos parejas | Dos parejas diferentes. |
| 4 | Trío | Tres cartas del mismo valor. |
| 5 | Escalera | Todas las cartas tienen valores consecutivos. |
| 6 | Color | Todas las cartas son del mismo palo. |
| 7 | Full | Un trío y una pareja. |
| 8 | Póker | Cuatro cartas del mismo valor. |
| 9 | Escalera de color | Todas las cartas tienen valores consecutivos y son del mismo palo. |
| 10 | Escalera real | Diez, jota, reina, rey y as del mismo palo. |
Las cartas tienen valores en el siguiente orden:
2, 3, 4, 5, 6, 7, 8, 9, 10, Jack, Queen, King, AceSi dos jugadores tienen manos con la misma clasificación, gana la clasificación formada por el valor más alto. Por ejemplo, una pareja de ochos vence a una pareja de cincos (consulta el ejemplo n.º 1). Pero si dos clasificaciones empatan, por ejemplo, si ambos jugadores tienen una pareja de reinas, se comparan las cartas de mayor valor de cada mano (consulta el ejemplo n.º 4). Si las cartas de mayor valor empatan, se comparan las siguientes cartas de mayor valor, y así sucesivamente.
Considera las siguientes cinco manos repartidas entre dos jugadores:
| Mano | Jugador 1 | Jugador 2 | Ganador |
|---|---|---|---|
| 1 | 5H 5C 6S 7S KD | 2C 3S 8S 8D TD | Jugador 2 |
| 2 | 5D 8C 9S JS AC | 2C 5C 7D 8S QH | Jugador 1 |
| 3 | 2D 9C AS AH AC | 3D 6D 7D TD QD | Jugador 2 |
| 4 | 4D 6S 9H QH QC | 3D 6D 7H QD QS | Jugador 1 |
| 5 | 2H 2D 4C 4D 4S | 3C 3D 3S 9S 9D | Jugador 1 |
Crea una función que reciba una lista de manos aleatorias repartidas entre dos jugadores. Cada cadena contiene diez cartas (separadas por un solo espacio). Las primeras cinco son las cartas del Jugador 1 y las últimas cinco son las cartas del Jugador 2. La función debe devolver el número de manos que ganó el Jugador 1.
player1_wins([
"8C TS KC 9H 4S 7D 2S 5D 3S AC",
"5C AD 5D AC 9C 7C 5H 8D TD KS",
"3H 7H 6S KC JS QH TD JC 2D 8S",
"TH 8H 5C QS TC 9H 4D JC KS JS",
"7C 5H KC QH JD AS KH 4C AD 4S"
]) ➞ 2
player1_wins([
"5H QS 8S 6D 3C 8C JD AS 7H 7D",
"6H TD 9D AS JH 6C QC 9S KD JC",
"AH 8S QS 4D TH AC TS 3C 3D 5C",
"5S 4D JS 3D 8H 6C TS 3S AD 8C",
"6D 7C 5D 5H 3S 5C JC 2H 5S 3D",
"5H 6H 2S KS 3D 5D JD 7H JS 8H",
"KH 4H AS JS QS QC TC 6D 7C KS",
"3D QS TS 2H JS 4D AS 9S JC KD",
"QD 5H 4D 5D KH 7H 3D JS KD 4H"
]) ➞ 3
player1_wins([
"5S 9C KH KD 9H 5C TS 3D 7D 2D",
"5H AS TC 4D 8C 2C TS 9D 3H 8D"
]) ➞ 2