Skip to content

Commit e08e7e4

Browse files
authored
Merge pull request #8993 from Aleran07/ejercicio8
#8 - Python
2 parents 898e80b + d3ae3a3 commit e08e7e4

File tree

1 file changed

+114
-0
lines changed

1 file changed

+114
-0
lines changed
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
#08
2+
#Clases
3+
class Perro: # La primera en mayuscula
4+
def __init__(self, nombre, raza): # Inicializador
5+
self.nombre = nombre
6+
self.raza = raza
7+
8+
def ladrar(self):
9+
print(f"{self.nombre} está ladrando")
10+
11+
mi_perro = Perro("Max", "Labrador")
12+
tu_perro = Perro("Luna", "Poodle")
13+
14+
mi_perro.ladrar() # Max está ladrando
15+
tu_perro.ladrar() # Luna está ladrando
16+
17+
# Herencias
18+
class Animal:
19+
def __init__(self, nombre):
20+
self.nombre = nombre
21+
22+
def hablar(self):
23+
print("Este animal hace un sonido")
24+
25+
class Gato(Animal):
26+
def hablar(self):
27+
print(f"{self.nombre} dice miau")
28+
29+
mi_gato = Gato("Michi")
30+
mi_gato.hablar() # Michi dice miau
31+
32+
33+
# Ejercicio
34+
# Definición de la clase
35+
class Persona:
36+
# Inicializador: se ejecuta al crear un nuevo objeto
37+
def __init__(self, nombre, edad):
38+
self.nombre = nombre # atributo de instancia
39+
self.edad = edad # atributo de instancia
40+
41+
# Método: función dentro de la clase
42+
def mostrar_info(self):
43+
print(f"Nombre: {self.nombre}, Edad: {self.edad}")
44+
45+
def cumplir_años(self):
46+
self.edad += 1
47+
48+
# Crear un objeto (instancia) de la clase Persona
49+
persona1 = Persona("Brian", 24)
50+
51+
# Llamamos al método que imprime los datos
52+
persona1.mostrar_info() # 👉 Nombre: Brian, Edad: 24
53+
54+
# Modificamos los atributos directamente
55+
persona1.nombre = "Andrés"
56+
persona1.edad = 25
57+
58+
# Imprimimos de nuevo
59+
persona1.mostrar_info() # 👉 Nombre: Andrés, Edad: 25
60+
61+
persona1.cumplir_años()
62+
persona1.mostrar_info()
63+
64+
""" * DIFICULTAD EXTRA (opcional):
65+
* Implementa dos clases que representen las estructuras de Pila y Cola (estudiadas
66+
* en el ejercicio número 7 de la ruta de estudio)
67+
* - Deben poder inicializarse y disponer de operaciones para añadir, eliminar,
68+
* retornar el número de elementos e imprimir todo su contenido."""
69+
70+
class Pila:
71+
def __init__(self):
72+
self.list = []
73+
74+
def add(self, dato):
75+
self.list.append(dato)
76+
pass
77+
def remove_pila(self):
78+
self.list.pop()
79+
80+
def remove_cola(self):
81+
self.list.pop(0)
82+
83+
def count_list(self):
84+
self.cuenta = len(self.list)
85+
print(f"\nHay {self.cuenta} elementos en la lista")
86+
87+
def mostrar_info(self):
88+
print(f"\nLista: {self.list}")
89+
90+
mi_pila = Pila()
91+
mi_pila.add(1)
92+
mi_pila.add(2)
93+
mi_pila.add(3)
94+
mi_pila.add(4)
95+
96+
mi_pila.mostrar_info()
97+
mi_pila.count_list()
98+
99+
mi_pila.remove_pila()
100+
101+
mi_pila.mostrar_info()
102+
mi_pila.count_list()
103+
104+
mi_pila.remove_cola()
105+
106+
mi_pila.mostrar_info()
107+
mi_pila.count_list()
108+
109+
mi_cola = Pila()
110+
mi_cola.add(1)
111+
mi_cola.add("A")
112+
mi_cola.add("B")
113+
114+
mi_cola.mostrar_info()

0 commit comments

Comments
 (0)