3 scripts para modelar una baraja de cartas en Python

Autor: | Última modificación: 27 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post: ,

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.

Scrits 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.

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

🔴 ¿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

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, 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

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 e una clase, 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

self.cartas

self.cartas (i)

aleatorio = randint (0, len (self.cartas) -1)

#para acceder a una carta

cartas_a_cambiar = self.cartas [aleatorio]

#para eliminar una carta

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 impor Baraja

#crear la baraja de 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

Haz más ejercicios en Python

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!

[email protected]

¿Sabías que hay más de 40.000 vacantes para desarrolladores web sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!