Skip to content

Commit d89cdcf

Browse files
committed
#19 - Python
1 parent 1e65400 commit d89cdcf

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
from enum import Enum
2+
3+
"""
4+
Ejercicio
5+
"""
6+
7+
8+
class Weekday(Enum):
9+
MONDAY = 1
10+
TUESDAY = 2
11+
WEDNESDAY = 3
12+
THURSDAY = 4
13+
FRIDAY = 5
14+
SATURDAY = 6
15+
SUNDAY = 7
16+
17+
18+
def get_day(number: int):
19+
print(Weekday(number).name)
20+
21+
22+
get_day(1)
23+
get_day(3)
24+
25+
"""
26+
Ejercicio Extra
27+
"""
28+
29+
30+
class OrderStatus(Enum):
31+
PENDING = 1
32+
SHIPPED = 2
33+
DELIVERED = 3
34+
CANCELLED = 4
35+
36+
37+
class Order:
38+
39+
status = OrderStatus.PENDING
40+
41+
def __init__(self, id) -> None:
42+
self.id = id
43+
44+
def ship(self):
45+
if self.status == OrderStatus.PENDING:
46+
self.status = OrderStatus.SHIPPED
47+
self.display_status()
48+
else:
49+
print("El pedido ya ha sido enviado o cancelado")
50+
51+
def deliver(self):
52+
if self.status == OrderStatus.SHIPPED:
53+
self.status = OrderStatus.DELIVERED
54+
self.display_status()
55+
else:
56+
print("El pedido necesita ser enviado antes de entregarse.")
57+
58+
def cancel(self):
59+
if self.status != OrderStatus.DELIVERED:
60+
self.status = OrderStatus.CANCELLED
61+
self.display_status()
62+
else:
63+
print("El pedido no se puede cancelar ya que ya se ha entregado.")
64+
65+
def display_status(self):
66+
print(f"El estado del pedido {self.id} es {self.status.name}")
67+
68+
69+
order_1 = Order(1)
70+
order_1.display_status()
71+
order_1.deliver()
72+
order_1.ship()
73+
order_1.deliver()
74+
order_1.cancel()

0 commit comments

Comments
 (0)