3 scripts para modelar una baraja de cartas en Python

| Última modificación: 19 de septiembre de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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 semana

Ya 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!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.