Skip to content

Commit 561f421

Browse files
#8 - Python
1 parent 85c5be2 commit 561f421

File tree

1 file changed

+108
-0
lines changed

1 file changed

+108
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
'''EJERCICIO:
2+
Explora el concepto de clase y crea un ejemplo que implemente un inicializador,
3+
atributos y una función que los imprima (teniendo en cuenta las posibilidades
4+
de tu lenguaje).
5+
Una vez implementada, créala, establece sus parámetros, modifícalos e imprímelos
6+
utilizando su función.
7+
DIFICULTAD EXTRA (opcional):
8+
Implementa dos clases que representen las estructuras de Pila y Cola (estudiadas
9+
en el ejercicio número 7 de la ruta de estudio)
10+
- Deben poder inicializarse y disponer de operaciones para añadir, eliminar,
11+
retornar el número de elementos e imprimir todo su contenido.'''
12+
13+
# Clase/class: es un molde para crear objetos. Un objeto es una instancia de una clase.
14+
# Atributos/atributes: son las características que tiene un objeto.
15+
# Métodos/methods: son las acciones que puede realizar un objeto.
16+
# Constructor/initializer: es un método que se llama cuando se crea un objeto.
17+
# self: es una referencia al objeto que se está creando.
18+
# __init__: es el método constructor de una clase.
19+
# __str__: es el método que se llama cuando se imprime un objeto.
20+
21+
class Persona:
22+
surname: str = None # surname es un atributo de clase
23+
def __init__(self, name: str, age: int, habilidades: list):
24+
self.name = name
25+
self.age = age
26+
self.habilidades = habilidades
27+
28+
def __str__(self):
29+
return f'Nombre: {self.name}, Apellido: {self.surname}, Age: {self.age}, Habilidades: {self.habilidades}'
30+
31+
mi_persona = Persona('Santiago', 24, ['Python', 'SQL'])
32+
mi_persona.surname = 'Bailleres'
33+
print(mi_persona)
34+
mi_persona.age = 25
35+
print(mi_persona)
36+
37+
# EXTRA
38+
# Clase Pila (Stack) LIFO
39+
class Pila:
40+
def __init__(self): # self es una referencia al objeto que se está creando
41+
self.items = []
42+
43+
def push(self, item):
44+
self.items.append(item)
45+
46+
def pop(self):
47+
if self.count() == 0:
48+
return None
49+
return self.items.pop()
50+
51+
def count(self):
52+
return len(self.items)
53+
54+
def print(self):
55+
for item in reversed(self.items):
56+
print(item)
57+
58+
mi_pila = Pila()
59+
mi_pila.push(1)
60+
mi_pila.push(2)
61+
mi_pila.push(3)
62+
print(mi_pila.count())
63+
mi_pila.print()
64+
mi_pila.pop()
65+
print(mi_pila.count())
66+
print('---')
67+
print(mi_pila.pop())
68+
print(mi_pila.pop())
69+
print(mi_pila.pop())
70+
print(mi_pila.pop())
71+
print(mi_pila.count())
72+
print('---')
73+
74+
# Clase Cola (Queue) FIFO
75+
class Cola:
76+
def __init__(self):
77+
self.queue = []
78+
79+
def enqueue(self, item):
80+
self.queue.append(item)
81+
82+
def dequeue(self):
83+
if self.count() == 0:
84+
return None
85+
return self.queue.pop(0)
86+
87+
def count(self):
88+
return len(self.queue)
89+
90+
def print(self):
91+
for item in self.queue:
92+
print(item)
93+
94+
mi_cola = Cola()
95+
mi_cola.enqueue('A')
96+
mi_cola.enqueue('B')
97+
mi_cola.enqueue('C')
98+
print(mi_cola.count())
99+
print('---')
100+
mi_cola.print()
101+
mi_cola.dequeue()
102+
print(mi_cola.count())
103+
print('---')
104+
print(mi_cola.dequeue())
105+
print(mi_cola.dequeue())
106+
print(mi_cola.dequeue())
107+
print(mi_cola.dequeue())
108+
print(mi_cola.count())

0 commit comments

Comments
 (0)