Skip to content

Commit 69b0fe8

Browse files
committed
mouredev#8 - Python
1 parent fedad47 commit 69b0fe8

File tree

1 file changed

+143
-0
lines changed

1 file changed

+143
-0
lines changed
Lines changed: 143 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,143 @@
1+
"""
2+
* EJERCICIO:
3+
* Explora el concepto de clase y crea un ejemplo que implemente un inicializador,
4+
* atributos y una función que los imprima (teniendo en cuenta las posibilidades
5+
* de tu lenguaje).
6+
* Una vez implementada, créala, establece sus parámetros, modifícalos e imprímelos
7+
* utilizando su función.
8+
*
9+
* DIFICULTAD EXTRA (opcional):
10+
* Implementa dos clases que representen las estructuras de Pila y Cola (estudiadas
11+
* en el ejercicio número 7 de la ruta de estudio)
12+
* - Deben poder inicializarse y disponer de operaciones para añadir, eliminar,
13+
* retornar el número de elementos e imprimir todo su contenido.
14+
"""
15+
16+
class Animal():
17+
def __init__(self, nombre:str, especie:str, raza:str, edad:int, sexo:str, color:str):
18+
self.nombre = nombre
19+
self.especie = especie
20+
self.raza = raza
21+
self.edad = edad
22+
self.sexo = sexo
23+
self.color = color
24+
25+
def caracteristicas(self):
26+
print(f"{self.nombre.capitalize()} es un {self.especie} de raza {self.raza}.")
27+
print(f"Tiene {self.edad} años de edad, es {self.sexo} y es de color {self.color}.")
28+
29+
def modificar_atributos(self, nuevo_nombre=None, nueva_edad=None, nuevo_color=None):
30+
if nuevo_nombre is not None:
31+
self.nombre = nuevo_nombre
32+
if nueva_edad is not None:
33+
self.edad = nueva_edad
34+
if nuevo_color is not None:
35+
self.color = nuevo_color
36+
37+
38+
39+
#Crear instancia de clase
40+
snoopy = Animal("snoopy", "perro", "beagle", 10, "macho", "tricolor")
41+
snoopy.caracteristicas()
42+
#Modificar los atributos de la calse 'Snoopy'
43+
snoopy.modificar_atributos("Snoopyus", 12, "negro con blanco")
44+
snoopy.caracteristicas()
45+
46+
#Crear instancia de clase
47+
felix = Animal("felix", "gato", "común", 5, "macho", "blanco y negro")
48+
felix.caracteristicas()
49+
#Modificar los atributos de la clase 'Felix el gato'
50+
felix.modificar_atributos("felix el gato", 7, "negro" )
51+
felix.caracteristicas()
52+
53+
54+
#-----EXTRA-----
55+
56+
#Clase que simula un pila de libros
57+
58+
class PilaLibros:
59+
60+
def __init__(self):
61+
self.pila = []
62+
63+
def añadir(self, libro):
64+
self.libro = libro
65+
self.pila.append(self.libro)
66+
67+
def eliminar(self):
68+
try:
69+
libro_eliminado = self.pila.pop()
70+
print(f"Se elimino el libro {libro_eliminado}")
71+
except IndexError:
72+
print("No se puedo eliminar ningún libro ya que la Pila está vacía.")
73+
74+
def elementos(self):
75+
print(f"La pila contiene un total de {len(self.pila)} libros.")
76+
77+
def imprimir(self):
78+
print(f"Estos son los libros almacenados en la pila: {self.pila}")
79+
80+
#Crear instancia de clase
81+
cuentos = PilaLibros()
82+
83+
#Uso de los métodos de la clase
84+
cuentos.añadir("Blancanieves y los 7 enanitos")
85+
cuentos.añadir("Perter Pan")
86+
87+
cuentos.elementos()
88+
89+
cuentos.imprimir()
90+
91+
cuentos.eliminar()
92+
cuentos.eliminar()
93+
cuentos.eliminar() #Arroja el mensaje de error de que la Pila está vacía.
94+
95+
96+
97+
#Clase que simula una cola de clientes que realizan pedidos en una cafetería y son atendidos en orden de llegada
98+
99+
class ColaClientes:
100+
101+
def __init__(self):
102+
self.cola = []
103+
104+
def añadir(self, nombre_cliente,):
105+
self.nombre_cliente = nombre_cliente
106+
self.cola.append(self.nombre_cliente)
107+
108+
def eliminar(self):
109+
try:
110+
pedido_eliminado = self.cola.pop(0)
111+
print(f"Se eliminó el pedido {pedido_eliminado}")
112+
except IndexError:
113+
print("No se puedo eliminar ningún pedido ya que la Cola está vacía.")
114+
115+
def elementos(self):
116+
print(f"La cola contiene un total de {len(self.cola)} pedidos.")
117+
118+
def imprimir(self):
119+
print(f"Estos son los pedidos en curso: {self.cola}")
120+
121+
122+
#Crear instancia de clase para simular una cola de clientes que realizan pedidos en una cafetería en prden de llegada
123+
pedidos = ColaClientes()
124+
125+
#Uso de los métodos de la clase
126+
pedidos.añadir("Juan Rodríguez - Café con leche sin lactosa")
127+
pedidos.añadir("Ana García - Café con leche + tarta chocolate")
128+
pedidos.añadir("Luís Perez - Bodadillo jamón serrano")
129+
pedidos.añadir("Esther Coronado - Zumo naranja + sandwich huevo")
130+
131+
pedidos.elementos()
132+
133+
pedidos.imprimir()
134+
135+
pedidos.eliminar()
136+
137+
pedidos.imprimir()
138+
139+
pedidos.eliminar()
140+
pedidos.eliminar()
141+
pedidos.eliminar()
142+
pedidos.eliminar() #Arroja el mensaje de error de que la Cola está vacía.
143+

0 commit comments

Comments
 (0)