# Se importa la libreria de random para poder generar los ID
import random
# Se da la bienvenida y se le muestran datos generales
print(
'Bienvenido a nuestro sistema de encomiendas Fidélitas express \nNuestro sistema le permite realizar envio de paquetes en 3 modalidades distintas')
# Se define variables iniciales
costo_inicial = 1000
envio_express = 200
bajo_costo = 100
internacional = 300
# Se crea el menu del modo que se repita hasta que el usuario quiera salir o ingrese la opcion correta
# Ademas se crea la funcion para separar el modulo de envio
def modulo_envio():
#Módulo de envío: En este módulo el cliente puede crerar cada una de las entregas, donde al fianlizar el proceso recibirá una guía con la formación necesaria
# la cual deberá adjuntar al paquete para poder realziar el envío del mismo. El proceso le retornara un id de Orden el cual podrá utilizar en caso de requerir una factura electrónica.
try: #este try valida las opciones ingresadas por el usuario en el menu
while True:
print('************************************************************')
print('1. Express')
print('2. Bajo costo')
print('3. Internacional')
print('4. Salir')
opcion = int(input('Seleccione la opcion a su preferencia: '))
# Se realiza las validaciones ingresadas por el usuario
id_orden = (random.randint(1, 5000))
if opcion == 1:
print('********************************************')
print(
'Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Para los paquetes Express ¢200 por kilogramo')
try:
while (peso_paquete := float(input("Ingrese el peso del paquete a enviar : "))) not in range(1,46): print(
'Los paquetes puede llegar a pesar una cantidad máxima de 45 kg por paquete.')
if peso_paquete == 1:
print('Su costo del paquete seria ,', costo_inicial)
elif peso_paquete >= 2:
peso_paquete_total = costo_inicial + envio_express * peso_paquete - envio_express
print('El costo de su paquete seria', peso_paquete_total, 'su paquete selecionado es', opcion,
'y su ID de la ordden es', id_orden)
except ValueError:
print('Debes introducir peso menor a 45Kg')
elif opcion == 2:
print('********************************************')
print(
'Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Bajo costo ¢100 por kilogramo')
try:
while (peso_paquete := int(input("Ingrese el peso del paquete a enviar : "))) not in range(1,46): print(
'Los paquetes puede llegar a pesar una cantidad máxima de 45 kg por paquete.')
if peso_paquete == 1:
print('Su costo del paquete seria ,', costo_inicial)
elif peso_paquete >= 2:
peso_paquete_total = costo_inicial + bajo_costo * peso_paquete - bajo_costo
print('El costo de su paquete seria', peso_paquete_total, 'su paquete selecionado es', opcion,
'y su ID de la ordden es', id_orden)
except ValueError:
print('Debes introducir peso menor a 45Kg')
elif opcion == 3:
print(
'Todos los paquetes tiene un costo inicial de 1000 colones por el primer 1kg del paquete. Los kilogramos adicionales tiene una tarifa adicional.\n'
'Internacional ¢300 por kilogramo')
try:
while (peso_paquete := int(input("Ingrese el peso del paquete a enviar : "))) not in range(1,46): print(
'Los paquetes puede llegar a pesar una cantidad máxima de 45 kg por paquete.')
if peso_paquete == 1:
print('Su costo del paquete seria ,', costo_inicial)
elif peso_paquete >= 2:
peso_paquete_total = costo_inicial + internacional * peso_paquete - internacional
print('El costo de su paquete seria', peso_paquete_total, 'su paquete selecionado es', opcion,'y su ID de la ordden es', id_orden)
except ValueError:
print('Debes introducir peso menor a 45Kg')
elif opcion == 4:
print('Muchas gracias por usar nuestro sistema de encomiendas')
break
except (ValueError, IndexError):
print('Ingrese una opcion valida')