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+ ### EJERCICIO: ###
17+ class Persona :
18+ #metodo inicializador
19+ def __init__ (self , nombre , edad , actividad ):
20+ self .nombre = nombre
21+ self .edad = edad
22+ self .actividad = actividad
23+
24+ #metodo para imprimir atributos de clase a traves del metodo __str__
25+ def __str__ (self ):
26+ return f"Nombre: { self .nombre } \n Edad: { self .edad } \n Actividad: { self .actividad } \n "
27+
28+ #metodo que muestra los atributos de clase
29+ def mostrar_atributos (self ):
30+ print (f"Nombre: { self .nombre } \n Edad: { self .edad } \n Actividad: { self .actividad } \n " )
31+
32+ #instancia de clases
33+ persona1 = Persona ("juank" , 25 , "Programador" )
34+
35+ #llamo al método mostrar_atributos
36+ persona1 .mostrar_atributos ()
37+
38+ #modifico atributo de clase
39+ persona1 .nombre = "Juan Gabriel"
40+
41+ #llamo al método __str__
42+ print (persona1 )
43+
44+ ### DIFICULTAD EXTRA: ###
45+
46+ ## Pila (LIFO)##
47+ class Pila :
48+ #metodo inicializador
49+ def __init__ (self ):
50+ self .pila = []
51+
52+ #metodo 'Push' que añade un elemento a la pila
53+ def añadir_elemento (self , elemento ):
54+ self .pila .append (elemento )
55+
56+ #metodo 'Pop' que elimina un elemento de la pila
57+ def eliminar_elemento (self ):
58+ #verifica que la pila no este vacia
59+ if self .contar_elementos () == 0 :
60+ #retorna None si la pila esta vacia
61+ return None
62+ return self .pila .pop ()
63+
64+
65+ #metodo 'Count' que retorna el numero de elementos de la pila
66+ def contar_elementos (self ):
67+ return len (self .pila )
68+
69+ #metodo 'Print' que imprime el contenido de la pila
70+ def imprimir_elementos (self ):
71+ #recorre la lista de manera inversa
72+ for elemento in reversed (self .pila ): #reverse() invierte los valores de la secuencia dada
73+ print (elemento )
74+
75+ #creo una instacia de la clase Pila
76+ mi_pila = Pila ()
77+ #añado elementos a la pila
78+ mi_pila .añadir_elemento ("elemento 1" )
79+ mi_pila .añadir_elemento ("elemento 2" )
80+ mi_pila .añadir_elemento ("elemento 3" )
81+ mi_pila .añadir_elemento ("elemento 4" )
82+ #muestro la lista de elementos
83+ mi_pila .imprimir_elementos ()
84+ #muestro la cantidad de elementos
85+ print (f"la cantidad de elementos es: { mi_pila .contar_elementos ()} \n " )
86+
87+ #elimino un elemento de la pila
88+ mi_pila .eliminar_elemento ()
89+ #muestro la lista de elementos
90+ mi_pila .imprimir_elementos ()
91+ #muestro la cantidad de elementos
92+ print (f"la cantidad de elementos es: { mi_pila .contar_elementos ()} \n " )
93+
94+
95+ ## Cola (FIFO)##
96+
97+ class Cola :
98+ #metodo inicializador
99+ def __init__ (self ):
100+ self .cola = []
101+
102+ #metodo 'enqueue' que añade un elemento a la cola
103+ def añadir_elemento (self , elemento ):
104+ self .cola .append (elemento )
105+
106+ #metodo 'dequeue' que elimina un elemento de la cola
107+ def eliminar_elemento (self ):
108+ #verifica que la cola no este vacia
109+ if self .contar_elementos () == 0 :
110+ #retorna None si la cola esta vacia
111+ return None
112+ #se elimina el primer elemento de la cola indicando el indice '0'
113+ return self .cola .pop (0 )
114+
115+ #metodo 'Count' que retorna el numero de elemntos de la cola
116+ def contar_elementos (self ):
117+ return len (self .cola )
118+
119+ #metodo 'Print' que imprime el contenido de la cola
120+ def imprimir_elementos (self ):
121+ for elemntos in self .cola :
122+ print (elemntos )
123+
124+ #creo una instancia de la clase Cola
125+ mi_cola = Cola ()
126+ #añado elementos a la cola
127+ mi_cola .añadir_elemento ("elemento 1" )
128+ mi_cola .añadir_elemento ("elemento 2" )
129+ mi_cola .añadir_elemento ("elemento 3" )
130+ mi_cola .añadir_elemento ("elemento 4" )
131+
132+ #muestro la lista de elementos
133+ mi_cola .imprimir_elementos ()
134+ #muestro la cantidad de elementos
135+ print (f"la cantidad de elementos es: { mi_cola .contar_elementos ()} \n " )
136+
137+ #elimino un elemento de la pila
138+ mi_cola .eliminar_elemento ()
139+ #muestro la lista de elementos
140+ mi_cola .imprimir_elementos ()
141+ #muestro la cantidad de elementos
142+ print (f"la cantidad de elementos es: { mi_cola .contar_elementos ()} \n " )
143+
144+
145+
146+
0 commit comments