Skip to content

Commit 072f2b1

Browse files
authored
Merge pull request mouredev#3475 from Nightmare79/main
#19 - Python
2 parents 080fa06 + a473fc2 commit 072f2b1

File tree

1 file changed

+117
-0
lines changed

1 file changed

+117
-0
lines changed
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
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

Comments
 (0)