Skip to content

Commit 87d6a75

Browse files
authored
Merge pull request mouredev#7641 from victorfer69/main
#8 - Python
2 parents 7ad5f02 + 9715f7b commit 87d6a75

File tree

2 files changed

+212
-0
lines changed

2 files changed

+212
-0
lines changed
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#Clases
2+
3+
class Programmer:
4+
5+
surname = None
6+
7+
def __init__(self, name: str, age: int, languages: list):
8+
self.name = name
9+
self.age = age
10+
self.languajes = languages
11+
12+
def print(self):
13+
print(f"Nombre: {self.name} | Apellido: {self.surname} | Edad: {self.age} | Lenguajes {self.languajes}")
14+
15+
my_programmer = Programmer("Victor", 21, ["Python", "Java", "Swift"])
16+
my_programmer.print()
17+
my_programmer.surname = "Fer"
18+
my_programmer.print()
19+
my_programmer.age = 22
20+
my_programmer.print()
21+
22+
23+
#EJERCICIO EXTRA
24+
25+
#Pila
26+
class Stack():
27+
28+
def __init__(self):
29+
self.stack = []
30+
31+
def agregarItem(self, item):
32+
self.stack.append(item)
33+
34+
def sacarItem(self):
35+
if self.numElem() == 0:
36+
return None
37+
self.stack.pop()
38+
39+
def numElem(self):
40+
return len(self.stack)
41+
42+
def print(self):
43+
if self.numElem() == 0:
44+
print("Pila vacia")
45+
else:
46+
for i in reversed(self.stack):
47+
print(i)
48+
49+
50+
my_stack = Stack()
51+
my_stack.agregarItem("A")
52+
my_stack.agregarItem("B")
53+
my_stack.agregarItem("C")
54+
my_stack.agregarItem("D")
55+
print(my_stack.numElem())
56+
my_stack.print()
57+
my_stack.sacarItem()
58+
my_stack.sacarItem()
59+
my_stack.sacarItem()
60+
my_stack.sacarItem()
61+
my_stack.sacarItem()
62+
my_stack.sacarItem()
63+
print(my_stack.numElem())
64+
my_stack.print()
65+
66+
#Cola
67+
68+
class Queue():
69+
70+
def __init__(self):
71+
self.queue = []
72+
73+
def agregarItem(self, item):
74+
self.queue.append(item)
75+
76+
def sacarItem(self):
77+
if self.numElem() == 0:
78+
return None
79+
self.queue.pop()
80+
81+
def numElem(self):
82+
return len(self.queue)
83+
84+
def print(self):
85+
if self.numElem() == 0:
86+
print("Cola vacia")
87+
else:
88+
for i in self.queue:
89+
print(i)
90+
91+
92+
my_queue = Queue()
93+
my_queue.agregarItem("A")
94+
my_queue.agregarItem("B")
95+
my_queue.agregarItem("C")
96+
my_queue.agregarItem("D")
97+
print(my_queue.numElem())
98+
my_queue.print()
99+
my_queue.sacarItem()
100+
my_queue.sacarItem()
101+
my_queue.sacarItem()
102+
my_queue.sacarItem()
103+
my_queue.sacarItem()
104+
my_queue.sacarItem()
105+
print(my_queue.numElem())
106+
my_queue.print()
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#HERENCIA
2+
3+
#Superclase
4+
class Animal:
5+
6+
def __init__(self, name:str):
7+
self.name = name
8+
9+
def sound(self):
10+
pass
11+
12+
#Subclases
13+
class Dog(Animal):
14+
15+
def sound(self):
16+
print("Guau!")
17+
18+
class Cat(Animal):
19+
20+
def sound(self):
21+
print("Miau!")
22+
23+
def print_sound(animal:Animal):
24+
animal.sound()
25+
26+
my_animal = Animal("Animal")
27+
my_animal.sound()
28+
print_sound(my_animal)
29+
my_dog = Dog("Perro")
30+
my_dog.sound()
31+
print_sound(my_dog)
32+
my_cat = Cat("Gato")
33+
my_cat.sound()
34+
print_sound(my_cat)
35+
36+
37+
#EJERCICIO EXTRA
38+
39+
#Superclase
40+
class Empleado():
41+
42+
def __init__(self, id:str, name:str):
43+
self.id = id
44+
self.name = name
45+
self.empleados = []
46+
47+
def agregaEmpleado(self, empleado):
48+
self.empleados.append(empleado)
49+
50+
def printEmpleados(self):
51+
for i in self.empleados:
52+
print(i.name)
53+
54+
#Subclases
55+
class Gerente(Empleado):
56+
57+
def function(self):
58+
print("Soy un Gerente")
59+
60+
61+
class GerenteProyecto(Empleado):
62+
63+
def __init__(self, id:str, name:str, proyect: str):
64+
super().__init__(id, name)
65+
self.proyect = proyect
66+
67+
def function(self):
68+
print("Soy un Gerente de Proyectos")
69+
70+
class Programador(Empleado):
71+
72+
def __init__(self, id:str, name:str, language: str):
73+
super().__init__(id, name)
74+
self.languaje = language
75+
76+
def function(self):
77+
print(f"Soy un Programador programando en {self.languaje}")
78+
79+
def agregaEmpleado(self, empleado):
80+
print("El Programador no puede agregar empleados")
81+
82+
my_gerente = Gerente(1, "Victor")
83+
my_gerente_proyecto1 = GerenteProyecto(2, "Pepe", "Proyecto 1")
84+
my_gerente_proyecto2 = GerenteProyecto(3, "Paco", "Proyecto 2")
85+
my_programador1 = Programador(4, "Control", "Java")
86+
my_programador2 = Programador(5, "Ros", "Cobol")
87+
my_programador3 = Programador(6, "Busi", "Python")
88+
my_programador4 = Programador(7, "Naso", "Dart")
89+
90+
my_gerente.agregaEmpleado(my_gerente_proyecto1)
91+
my_gerente.agregaEmpleado(my_gerente_proyecto2)
92+
93+
my_gerente_proyecto1.agregaEmpleado(my_programador1)
94+
my_gerente_proyecto1.agregaEmpleado(my_programador2)
95+
96+
97+
my_gerente_proyecto2.agregaEmpleado(my_programador3)
98+
my_gerente_proyecto2.agregaEmpleado(my_programador4)
99+
100+
my_programador1.agregaEmpleado(my_programador2)
101+
102+
my_programador1.function()
103+
my_gerente_proyecto1.function()
104+
my_gerente.function()
105+
106+
my_gerente.printEmpleados()

0 commit comments

Comments
 (0)