Sunday, 28 May 2017
Python: cajero de servicio

Cajero de servicio

Este es un ejemplo donde se emplea el lenguaje de python para ilustrar el proceso que se realiza durante la venta de comidas de un negocio pequeño. Su algoritmo se basa en:
  • Desplegar menu: Se muestra los productos con sus precio, guardados en listas.
  • Selección de productos: Se guarda la selección en una lista.
  • Aprobación de la lista seleccionada.
  • Cálculo del costo del producto: Se genera un módulo que realiza la operación de cálculo de lo seleccionado por el cliente.
  • Calculo del vuelto:Módulo utilizado para indicar si el monto pagado es superior o no al valor de lo seleccionado del menu.
A continución los módulos:
a) Programa administrador: Es el programa en donde se manipulan los módulos con el fin de hacer más entendible y asemejarse bastante al algoritmo seleccionado.

#programa administrador

#Mostrar   menu con precios
import  presenta_menu
deci = 1
b =[]
# Se despliega el menu
a= presenta_menu.menu()
import cargado_de_lista,monto,lista_precios, analiza_vuelto
# SEleccion de producto a partir de una lista
while deci==1:
    sd = "desea corregir o iniciar orden su orden marque s sino marque n  :"
    deci = int(input("desea corregir o iniciar  su orden marque 1 sino marque 0  :"))
    if deci ==1:
        b = cargado_de_lista.lista_cliente()
   
# Aqui se hace el llamado al modulo que calcula el monto de lo seleccionado del menu.

monto_total = monto.calculo_de_monto(b)
print (" El monto total es  = " + str(monto_total))

# Se llama al modulo calcula el vuelto o indica si el monto pagado
#es menor que el valor de lo seleccionado del menu
dinero = int(input("Indique con cuanto paga el cliente"))
va = analiza_vuelto.vuelto(monto_total,dinero
)


b) Módulo que carga la lista de alimentos y sus precios. Observe que un módulo o función puede devolver más de un resultado a la vez.

#lista de precios
# lista contiene ordenamiento: arroz, frijoles, carne, sopa de pollo, refresco,cafe
import monto, presenta_menu
prod=[]
precio=[]
def lista():
    precio= [100, 200, 450,300,100, 100]
    productos =["arroz", "frijoles", "carne", "sopa de pollo", "refresco","cafe"]
    n = len(productos)
    return precio,productos, n





c) Módulo  de presentación del menú.
Es importante mencionar que un módulo de programación python puede llamar a otro como se realiza en este de presentación de la lista y precios.

# modulo que presenta el menu
import lista_precios
def menu():
    prod=[]
    precio=[]
    print("*********************************************")
    print ("A  continuacion le presentamos nuestro menu\n")
    prod, precio, m = lista_precios.lista()
    for i in range(m):
        s = precio[i]
        print( str(prod[i]) + "--------"+ str(s))
    print("\n*********************************************")


d)
Módulo de  cargado de la lista de alimentos seleccionados por el cliente.

#cargando lista cliente
import lista_precios
precio, prod, n = lista_precios.lista()
def lista_cliente():
    Lista_cliente= []
    print("seleccione su menu")
    for i in range(n):
        s = prod[i]
        asa = "Indique cuantas raciones de  " + str(s) + ":  "
        a= int(input(asa))
        Lista_cliente.append(a)
    return Lista_cliente

e) Módulo que calcula el monto de los productos seleccionados.

# modulo de calculo de monto
# entradas:total, no_articulos
import lista_precios
def calculo_de_monto(b):
    pre,proda,m = lista_precios.lista()
    monto = 0
    for i in range(m):
        monto +=pre[i]*b[i]
    return monto


f) Módulo que calcula el vuelto que se le debe dar al cliente. No olvide que cuando se aplica el comando print, se debe tener cuidado con los tipos que se enlazan en su argumento.

# calcula el vuelto o indica no le alcanza
def vuelto(monto,dinero):
    if(dinero<monto):
        print("Estimado cliente su pago es inferior al monto")
    if(dinero>=monto):
        vu = dinero - monto
        print("Su vuelto es de " + str(vu))
        print("\n Gracias por su compra")


{backbutton}