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