Skip to content

Commit dc675a7

Browse files
authored
Merge pull request mouredev#6842 from Dkp-Dev/main
#8 - Python
2 parents 2314294 + c0c0cd7 commit dc675a7

File tree

1 file changed

+112
-0
lines changed

1 file changed

+112
-0
lines changed

Roadmap/08 - CLASES/python/Dkp-Dev.py

+112
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
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+
10+
class Programmer:
11+
12+
surname: str = None
13+
14+
def __init__(self, name: str, age: int, languages: list):
15+
self.name = name
16+
self.age = age
17+
self.languages = languages
18+
19+
def print(self):
20+
print(
21+
f"Nombre: {self.name} | Apellidos: {self.surname} | Edad: {self.age} | Lenguajes: {self.languages}")
22+
23+
24+
my_programmer = Programmer("Dkp", 29, ["Python", "Kotlin", "Java"])
25+
my_programmer.print()
26+
my_programmer.surname = "Dev"
27+
my_programmer.print()
28+
my_programmer.age = 30
29+
my_programmer.print()
30+
31+
"""
32+
DIFICULTAD EXTRA (opcional):
33+
* Implementa dos clases que representen las estructuras de Pila y Cola (estudiadas
34+
* en el ejercicio número 7 de la ruta de estudio)
35+
* - Deben poder inicializarse y disponer de operaciones para añadir, eliminar,
36+
* retornar el número de elementos e imprimir todo su contenido.
37+
"""
38+
39+
# LIFO
40+
41+
42+
class Stack:
43+
44+
def __init__(self):
45+
self.stack = []
46+
47+
def push(self, item):
48+
self.stack.append(item)
49+
50+
def pop(self):
51+
if self.count() == 0:
52+
return None
53+
return self.stack.pop()
54+
55+
def count(self):
56+
return len(self.stack)
57+
58+
def print(self):
59+
for item in reversed(self.stack):
60+
print(item)
61+
62+
63+
my_stack = Stack()
64+
my_stack.push("Primero")
65+
my_stack.push("Segundo")
66+
my_stack.push("Ultimo")
67+
print(my_stack.count())
68+
my_stack.print()
69+
my_stack.pop()
70+
print(my_stack.count())
71+
print(my_stack.pop())
72+
print(my_stack.pop())
73+
print(my_stack.pop())
74+
print(my_stack.count())
75+
76+
77+
# FIFO
78+
79+
80+
class Queue:
81+
82+
def __init__(self):
83+
self.queue = []
84+
85+
def enqueue(self, item):
86+
self.queue.append(item)
87+
88+
def dequeue(self):
89+
if self.count() == 0:
90+
return None
91+
return self.queue.pop(0)
92+
93+
def count(self):
94+
return len(self.queue)
95+
96+
def print(self):
97+
for item in self.queue:
98+
print(item)
99+
100+
101+
my_queue = Queue()
102+
my_queue.enqueue("Primero")
103+
my_queue.enqueue("Segundo")
104+
my_queue.enqueue("Ultimo")
105+
print(my_queue.count())
106+
my_queue.print()
107+
my_queue.dequeue()
108+
print(my_queue.count())
109+
print(my_queue.dequeue())
110+
print(my_queue.dequeue())
111+
print(my_queue.dequeue())
112+
print(my_queue.count())

0 commit comments

Comments
 (0)