Crear baraja de Poker con itertools
En este ejemplo vemos como crear una baraja de Poker usando itertools
. Aunque la podríamos crear definiendo una a una las 52
cartas de la baraja de Poker, podemos hacerlo de manera más sencilla sabiendo lo siguiente:
- ♠️ ♥️ ♣️ ♦️ Hay
4
palos
: Picas, corazones, tréboles y diamentes. - 🃏 Hay
13
números
: ElA
, números del2
al10
yJ
,Q
,K
.
Las 52
cartas resultantes son simplemente las combinaciones de dos elementos de ambos conjuntos. Esto se conoce también como producto cartesiano. Lo podemos hacer de la siguiente manera.
import itertools
palos = ['Picas', 'Corazones', 'Tréboles', 'Diamantes']
numeros = ['A'] + list(range(2, 11)) + ['J', 'Q', 'K']
baraja = list(itertools.product(numeros, palos))
for carta in baraja:
print(f"{carta[0]} de {carta[1]}")
# A de ♠️
# A de ♥️
# A de ♣️
# A de ♦️
# ...
Como puedes ver en baraja
ahora tenemos las 52
cartas, generadas como combinaciones de los números y palos.
✏️ Ejercicios:
- Escribe una función
producto
que tenga el mismo comportamiento queproduct
pero que no use el paqueteitertools
. - Modifica el código para generar la baraja española. Esta tiene números del
1
al10
y oros, copas, espadas y bastos como palos.