Skip to content

Commit 9a81854

Browse files
committed
#8 - Python
1 parent 9f6bd0a commit 9a81854

File tree

1 file changed

+118
-0
lines changed

1 file changed

+118
-0
lines changed
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
'''
2+
EJERCICIO
3+
'''
4+
5+
class Animal:
6+
def __init__(self, name, race):
7+
self.name = name
8+
self.race = race
9+
10+
def __str__(self):
11+
return f'Nombre: {self.name}, Raza: {self.race}'
12+
13+
class Dog(Animal):
14+
def __init__(self, name, race):
15+
super().__init__(name, race)
16+
17+
def sound(self):
18+
print(f"{self.name} ladrando!!")
19+
20+
class Cat(Animal):
21+
def __init__(self, name, race):
22+
super().__init__(name, race)
23+
24+
def sound(self):
25+
print(f"{self.name} maullando!!")
26+
27+
def animalSound(animal):
28+
animal.sound()
29+
30+
31+
manchas = Cat("Manchas", "Calicó")
32+
firulais = Dog("Firulais", "Labrador")
33+
34+
animalSound(manchas)
35+
animalSound(firulais)
36+
37+
print(f'Manchas: {manchas.__str__()}')
38+
print(f'Manchas es un perro?: {isinstance(manchas, Dog)}')
39+
print(f'Manchas es un gato?: {isinstance(manchas, Cat)}')
40+
print(f'Manchas es un animal?: {isinstance(manchas, Animal)}')
41+
print(f'Firulais: {firulais.__str__()}')
42+
print(f'Firulais es un perro?: {isinstance(firulais, Dog)}')
43+
print(f'Firulais es un gato?: {isinstance(firulais, Cat)}')
44+
print(f'Firulais es un animal?: {isinstance(firulais, Animal)}')
45+
46+
'''
47+
EXTRA
48+
'''
49+
50+
class Stack:
51+
52+
def __init__(self):
53+
self.data = []
54+
55+
def push(self, element):
56+
self.data.append(element)
57+
58+
def pop(self):
59+
try:
60+
element = self.data.pop()
61+
except IndexError as e:
62+
print(f'Error: {type(e).__name__}, empty stack')
63+
return
64+
print(f'Stack element out: {element}')
65+
66+
def itemsNumber(self):
67+
return len(self.data)
68+
69+
def showData(self):
70+
print(f'Stack: {self.data}')
71+
72+
class Queue:
73+
74+
def __init__(self):
75+
self.data = []
76+
77+
def enqueue(self, element):
78+
self.data.append(element)
79+
80+
def dequeue(self):
81+
try:
82+
element = self.data.pop(0)
83+
except IndexError as e:
84+
print(f'Error: {type(e).__name__}, empty queue')
85+
return
86+
print(f'Queue element out: {element}')
87+
88+
def itemsNumber(self):
89+
return len(self.data)
90+
91+
def showData(self):
92+
print(f'Queue: {self.data}')
93+
94+
veggies = Stack()
95+
veggies.push('Cucumber')
96+
veggies.push('Radish')
97+
veggies.push('Tomato')
98+
veggies.push('Orange')
99+
veggies.push('Apple')
100+
print(f'Cantidad de vegetales: {veggies.itemsNumber()}')
101+
veggies.showData()
102+
veggies.pop()
103+
veggies.pop()
104+
veggies.showData()
105+
print(f'Cantidad de vegetales: {veggies.itemsNumber()}')
106+
107+
fruits = Queue()
108+
fruits.enqueue('Banana')
109+
fruits.enqueue('Melon')
110+
fruits.enqueue('Strawberry')
111+
fruits.enqueue('Onion')
112+
fruits.enqueue('Garlic')
113+
print(f'Cantidad de frutas: {fruits.itemsNumber()}')
114+
fruits.showData()
115+
fruits.dequeue()
116+
fruits.dequeue()
117+
fruits.showData()
118+
print(f'Cantidad de frutas: {fruits.itemsNumber()}')

0 commit comments

Comments
 (0)