1
+ from enum import Enum
2
+
3
+
4
+ # EJERCICIO 1
5
+
6
+ class DiasSemana (Enum ):
7
+ """Enumera Dias de la semana"""
8
+ LUNES = 1
9
+ MARTES = 2
10
+ MIERCOLES = 3
11
+ JUEVES = 4
12
+ VIERNES = 5
13
+ SABADO = 6
14
+ DOMINGO = 7
15
+
16
+
17
+ def obtener_dia_semana ():
18
+ while True :
19
+ try :
20
+ numero = int (input ("Ingrese el numero del dia de la semana: " ))
21
+
22
+ if numero < 1 or numero > 7 :
23
+ print ("Numero del dia de la semana incorrecto, debe ser en el rango de 1 a 7" )
24
+ continue
25
+
26
+ mensaje = f"El dia de la semana es: { DiasSemana (numero ).name .capitalize ()} "
27
+
28
+ print (mensaje )
29
+
30
+ break
31
+
32
+ except ValueError :
33
+ print ("Debe ser un numero entero en el rango del 1 - 7" )
34
+ continue
35
+
36
+
37
+ # ------------------------------------------------------#
38
+
39
+
40
+ # EJERCICIO 2
41
+
42
+ class EstadoPedido (Enum ):
43
+ PENDIENTE = 1
44
+ ENVIADO = 2
45
+ ENTREGADO = 3
46
+ CANCELADO = 4
47
+
48
+
49
+ class Pedido :
50
+ def __init__ (self , identificador ):
51
+ # Genera un identificador
52
+ self .identificador = identificador
53
+ self .estado = EstadoPedido .PENDIENTE
54
+
55
+ def enviar_pedido (self ):
56
+ if self .estado == EstadoPedido .PENDIENTE :
57
+ self .estado = EstadoPedido .ENVIADO
58
+ print (f"El pedido { self .identificador } ya ha sido enviado" )
59
+
60
+ elif self .estado == EstadoPedido .ENVIADO :
61
+ print (f"El pedido { self .identificador } ya fue enviado" )
62
+
63
+ elif self .estado == EstadoPedido .CANCELADO :
64
+ print (f"El pedido { self .identificador } ya fue cancelado" )
65
+
66
+ elif self .estado == EstadoPedido .ENTREGADO :
67
+ print (f"El pedido { self .identificador } ya fue entregado" )
68
+
69
+
70
+ def cancelar_pedido (self ):
71
+ if self .estado == EstadoPedido .PENDIENTE or self .estado == EstadoPedido .ENVIADO :
72
+ self .estado = EstadoPedido .CANCELADO
73
+ print (f"El pedido { self .identificador } ha sido cancelado" )
74
+
75
+ elif self .estado == EstadoPedido .ENTREGADO :
76
+ print (f"No se puede cancelar el pedido { self .identificador } por que ya se entrego" )
77
+
78
+ elif self .estado == EstadoPedido .CANCELADO :
79
+ print (f"El pedido { self .identificador } ya fue cancelado" )
80
+
81
+
82
+ def entregar_pedido (self ):
83
+ if self .estado == EstadoPedido .ENVIADO :
84
+ self .estadio = EstadoPedido .ENTREGADO
85
+ print (f"El pedido { self .identificador } fue entregado" )
86
+
87
+ elif self .estado == EstadoPedido .PENDIENTE :
88
+ print (f"El pedido { self .identificador } aun esta pendiente" )
89
+
90
+ elif self .estado == EstadoPedido .ENTREGADO :
91
+ print (f"El pedido { self .identificador } ya fue entregado" )
92
+
93
+ elif self .estado == EstadoPedido .CANCELADO :
94
+ print (f"El pedido { self .identificador } ya fue cancelado" )
95
+
96
+
97
+
98
+ if __name__ == "__main__" :
99
+ # Ejemplo de uso del ejercicio 1:
100
+ obtener_dia_semana ()
101
+
102
+
103
+ # --------------------------------#
104
+
105
+
106
+ # Ejemplos de uso dle ejercicio 2:
107
+ pedido_1 = Pedido (identificador = 1 )
108
+ pedido_2 = Pedido (identificador = 2 )
109
+
110
+
111
+ pedido_1 .enviar_pedido ()
112
+ pedido_1 .cancelar_pedido ()
113
+ pedido_1 .entregar_pedido ()
114
+
115
+ pedido_2 .cancelar_pedido ()
116
+ pedido_2 .entregar_pedido ()
117
+ pedido_2 .enviar_pedido ()
0 commit comments