-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path34-ejercicio-herencia.py
More file actions
62 lines (50 loc) · 2.38 KB
/
34-ejercicio-herencia.py
File metadata and controls
62 lines (50 loc) · 2.38 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
# EJERCICIO CON HERENCIA
class Vehiculo:
def __init__(self, color = None, ruedas = 0):
self.color = color
self.ruedas = ruedas
class Coche(Vehiculo):
def __init__(self, color = None, ruedas = 0, velocidad = 0, cilindrada = 0):
super().__init__(color, ruedas)
self.velocidad = velocidad
self.cilindrada = cilindrada
class Camioneta(Coche):
def __init__(self, color=None, ruedas=0, velocidad=0, cilindrada=0, carga = 0):
super().__init__(color, ruedas, velocidad, cilindrada)
self.carga = carga
class Bicicleta(Vehiculo):
def __init__(self, color=None, ruedas=0, tipo = None):
super().__init__(color, ruedas)
self.tipo = tipo
class Motocicleta(Bicicleta):
def __init__(self, color=None, ruedas=0, tipo=None, velocidad = 0, cilindrada = 0):
super().__init__(color, ruedas, tipo)
self.velocidad = velocidad
self.cilindrada = cilindrada
coche = Coche("Rojo", 4, 200, 400)
camioneta = Camioneta("Blanco", 4, 240, 800, 700)
bici = Bicicleta("Azul", 2, "Urbana")
moto = Motocicleta("Negra Mate", 2, "Deportiva", 200, 400)
vehiculos = [coche, camioneta, bici, moto]
def catalogar(vehiculos, ruedas = None):
if ruedas is None:
for vehiculo in vehiculos:
if type(vehiculo).__name__ == "Coche":
print(f"{type(vehiculo).__name__}: {vehiculo.color} {vehiculo.ruedas} {vehiculo.velocidad} {vehiculo.cilindrada}")
elif type(vehiculo).__name__ == "Camioneta":
print(f"{type(vehiculo).__name__}: {vehiculo.color} {vehiculo.ruedas} {vehiculo.velocidad} {vehiculo.cilindrada} {vehiculo.carga}")
elif type(vehiculo).__name__ == "Bicicleta":
print(f"{type(vehiculo).__name__}: {vehiculo.color} {vehiculo.ruedas} {vehiculo.tipo}")
elif type(vehiculo).__name__ == "Motocicleta":
print(f"{type(vehiculo).__name__}: {vehiculo.color} {vehiculo.ruedas} {vehiculo.tipo} {vehiculo.velocidad} {vehiculo.cilindrada}")
else:
print("No se reconoce el tipo de vehiculo")
else:
i = 0
for vehiculo in vehiculos:
if vehiculo.ruedas == ruedas:
print(f"{type(vehiculo).__name__}: {vehiculo.color} {vehiculo.ruedas}")
i += 1
print(f"Se encontraron {i} vehiculos con {ruedas} ruedas")
catalogar(vehiculos)
catalogar(vehiculos, 2)