Como ejercicio práctico te contaremos los pasos para modelar una baraja de cartas en Python. Los ejercicios prácticos son fundamentales para seguir ejercitando tus habilidades en la escritura de código. Por esto, para ayudarte en el proceso de adquirir más práctica y conocimientos en tu camino por el mundo de la programación, en este artículo te traemos 3 scripts para modelar una baraja de cartas en Python y aprendas cómo crear un juego de cartas.
Scripts para modelar una baraja de cartas en Python
Para modelar una baraja de cartas en Python, antes de pensar de qué forma construir el código, debes construir un borrador desde la lógica. No es necesario que empieces a expresar funciones o códigos, más bien deberías vislumbrarlo en formatos como una lista o una imagen.
Por ejemplo, puedes traer la imagen de una baraja de cartas y hacer una lluvia de ideas. De esta manera, podrás concluir que se debe realizar una clase de las cartas y otra de las barajas, para que aprendas cómo crear un juego de cartas.
Definición y creación de la clase de una carta
En primer lugar, desarrollaremos la clase de la carta de la baraja. A continuación, te presentamos el código para la definición y creación de la clase de una carta:
from abc import abstractproperty
valor: numerico
palo: string
símbolo: string
#definición del constructor
def _ _init_ _ (self, v, p, s): #valor, palo, símbolo
self.validar_valor (v)
self.valor = v
self.palo = p
self.simbolo = s
#representación de la carta
def _ _ str__ (self):
return «{} {}». format (self.simbolo, self.palo)
#método de representación
def _ _ repr _ _ (self):
return self.simbolo + self.palo
#comparación de cuál de las cartas es mayor
def _ _ eq _ _ (self, otro):
return self.valor == otro.valor
#comparar para ver si son desiguales
def _ _ne_ _ (self, otro):
return self.valor != otro.valor
#para saber qué carta es mayor
def _ _ gt_ _ (self, otro):
return self.valor > otro.valor
#para otro tipo de comparaciones
def _ _ ge_ _ (self, otro):
return self.valor >= otro.valor
#para hacer el menor que
def _ _ lt_ _ (self, otro):
return self.valor < otro.valor
#para el método menor o igual que
def _ _ le_ _ (self, otro):
return self.valor <= otro.valor
#lanzamiento de excepciones
def validar_valor (self, valor):
if not isinstance (valor, int):
raise ValueError ("El valor de la carta debe ser número entero")
if valor < 0:
raise ValueError ("El valor debe ser un entero positivo")
Definición y creación de la clase de una baraja
Ahora, nos preocuparemos por definir la clase de la baraja para aprender cómo crear un juego de cartas, ya que tenemos la clase de la carta. Para definir y crear la clase de una baraja, deberás copiar el siguiente apartado de código:
class Baraja
#definición del constructor para la baraja
def _ _ init (self, num_cartas, palos)
#definición del bucle, el for lo que hace es recorrer el índice de 0 a 12
#i = 0
self.cartas = [ ]
for p in palos:
carta = Carta (i+1, palo, string(i+1))
self.cartas.append (carta)
#para imprimir la clase barajas
print (self.cartas)
#representación de la baraja
Baraja(12, ["oros", "copas" "espadas", "bastos"])
Definición y desarrollo del método dentro de una clase
Para agregar operaciones dentro de una clase para la baraja, en este caso, dentro de la clase de barajas, tendrás que añadir el siguiente script a tu programa:
#importación de la librería de random o aleatorio
import random
from random import randint
#definición del método para la baraja de cartas
self.cartas
self.cartas (i)
aleatorio = randint (0, len (self.cartas) -1)
#para acceder a una carta de la baraja de cartas
cartas_a_cambiar = self.cartas [aleatorio]
#para eliminar una carta de la baraja de cartas
carta_eliminada = self.cartas.pop (aleatorio)
#para jugar con las cartas: sacarás una carta y la agregarás al final
self.cartas.append (carta_eliminada)
#creación del bucle para barajar
for i in range (aleatorio)
aleatorio = randint (0, len (self.cartas) -1)
carta_eliminada = self.cartas.pop (aleatorio)
self.cartas.append (carta_eliminada)
Ejecutar el script en la consola:
>python
#importar el script de clase baraja
>> from baraja import Baraja
#crear la baraja de cartas para después barajar cartas
>> Baraja (12, [«oros», «copas» «espadas», «bastos»])
#te aparecerá tu baraja creada en la consola, por lo que podrás ingresar cuántas veces quieres barajar tus cartas
>>> baraja.barajar (100)
>>> baraja.cartas
#te aparecerán tus cartas barajadas cien veces, gracias a la baraja
🔴 ¿Quieres Aprender a Programar con Python? 🔴
Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semanaYa que tienes 3 scripts para modelar una baraja de cartas en Python, puedes integrar estos scripts en tus códigos y seguir trabajando sobre ellos. Por ejemplo, aquí solo hemos trabajado un método dentro de la clase, que era para barajar las cartas; sin embargo, puedes intentar sacar otros métodos con estas mismas cartas.
Si quieres conocer más programas y, además, seguir su desarrollo paso a paso, no dudes en revisar el programa de nuestro Aprende a Programar desde Cero Full Stack Jr. Bootcamp. Esta es una gran forma de perfeccionar tus habilidades y aumentar tus conocimientos sobre Python, ya que te formarás, de forma práctica y teórica, con profesores expertos en el sector. ¡No lo dudes y apúntate!