Skip to content

Commit 0d0d296

Browse files
committed
#28 - Python
1 parent 4912813 commit 0d0d296

File tree

1 file changed

+76
-0
lines changed

1 file changed

+76
-0
lines changed
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Correcto
2+
class Bird:
3+
def fly(self):
4+
return "Bird is flying"
5+
6+
class Sparrow(Bird):
7+
def fly(self):
8+
return "Sparrow is flying"
9+
10+
class Eagle(Bird):
11+
def fly(self):
12+
return "Eagle is flying"
13+
14+
def make_bird_fly(bird: Bird):
15+
print(bird.fly())
16+
17+
sparrow = Sparrow()
18+
eagle = Eagle()
19+
20+
make_bird_fly(sparrow)
21+
make_bird_fly(eagle)
22+
23+
# Incorrecto
24+
class Penguin(Bird):
25+
def fly(self):
26+
raise Exception("Penguins can't fly")
27+
28+
penguin = Penguin()
29+
try:
30+
make_bird_fly(penguin)
31+
except Exception as e:
32+
print(e)
33+
34+
35+
### Ejercicio Extra ###
36+
class Vehicle:
37+
def accelerate(self):
38+
raise NotImplementedError("You must implement the accelerate method")
39+
40+
def brake(self):
41+
raise NotImplementedError("You must implement the brake method")
42+
43+
class Car(Vehicle):
44+
def accelerate(self):
45+
return "Car is accelerating"
46+
47+
def brake(self):
48+
return "Car is braking"
49+
50+
class Motorcycle(Vehicle):
51+
def accelerate(self):
52+
return "Motorcycle is accelerating"
53+
54+
55+
def brake(self):
56+
return "Motorcycle is braking"
57+
58+
class Bike(Vehicle):
59+
def accelerate(self):
60+
return "Bike is accelerating"
61+
62+
def brake(self):
63+
return "Bike is braking"
64+
65+
66+
def test_vehicle(vehicle: Vehicle):
67+
print(vehicle.accelerate())
68+
print(vehicle.brake())
69+
70+
car = Car()
71+
motorcycle = Motorcycle()
72+
bike = Bike()
73+
74+
test_vehicle(car)
75+
test_vehicle(motorcycle)
76+
test_vehicle(bike)

0 commit comments

Comments
 (0)