python

Python: ejercicio de ventas en restaurantes

En este post de programación en Python te mostraré un ejercicio resuelto que trata sobre las ventas y retiros que se realizan en un restaurante escribiendo órdenes para mostrar el saldo final al terminar el día.

Descripción del ejercicio

El ejercicio para resolver con Python dice así:

La cadena de restaurantes “Ejemplo” le ha solicitado que se cree un programa que les ayude a administrar las ventas del día de cada una de sus sucursales.

Al inicio del programa se debe preguntar cual es el saldo inicial de la sucursal en ese día en particular, luego se empezara a introducir la información de la bitácora de transacciones del día.

Por ejemplo para el día Martes se corrió el programa con un saldo inicial en la cuenta de 250000 colones y luego se introducen las operaciones de la bitácora de la siguiente forma:

  • V 2000
  • V 2000
  • R 1000
  • V 5000
  • Ejecutar

El significado de las linea de la bitácora son los siguientes

  1. V 2000 significa que vendieron 2000 colones.
  2. R 1000 significa que retiró 1000 colones de cacha chica.
  3. Al introducir una linea con la palabra “Ejecutar” indica que ha finalizado la entrada de datos en la bitácora y se debe ejecutar el procesamiento de las ventas y retiros.

Si cuando procesamos una operación de Retiro (R) y la cuenta no cuenta con los fondos suficientes, la operación simplemente debe ser ignorada y continuar con la siguiente operación.

Salida esperada

La salida que se espera del programa en Python sería la siguiente:

  • Total de dinero por ventas realizadas y cantidad de las mismos (3 ventas por un total de 9000 colones).
  • Total de dinero por retiros realizados (1 retiro por un total de 1000 colones)
  • El total de dinero disponible en la cuenta al finalizar de procesar la bitácora (en el caso del ejemplo el valor total seria de 258000 colones)

Se espera y se calificará que el programa se desarrolle utilizando ciclos (for/while), además del uso de funciones (tanto para retiros como para los depósitos).

También se espera que las entradas sean procesadas como un string y se manipulen sus posiciones para obtener la operación y el valor de la misma.

Algoritmo

Al inicio pensé en usar split para separar la cadena, pero como el ejercicio pide trabajo con cadenas mejor utilicé las operaciones con índices de cadenas para separar la orden y el monto.

Ya después de haberlos separado podemos convertir el monto como cadena a flotante, y lo demás es simplemente ir aumentando o disminuyendo el saldo inicial.

Código del ejercicio en Python

Finalmente el código fuente queda así:

See the gist on github.

He dividido todo en funciones como el ejercicio lo pide. Ya en la función principal declaro los totales de ventas realizadas así como los retiros.

Luego solicito la orden en la línea 34 con input, la separo en la 35 y comparo el tipo de orden. Si es vender entonces aumento el total de ventas junto con el conteo de las mismas, además de aumentar el saldo.

Si la orden es retirar, compruebo si puede retirar en la línea 41 y en caso de que sí entonces modifico el saldo, los conteos y totales.

Finalmente cuando el ciclo se rompa (eso será cuando se seleccione Ejecutar) imprimo los resultados.

Poniendo todo junto

El código completo ya lo dejé allá arriba. Aquí vemos la ejecución de este programa en Python para manejar un restaurante:

Python – Manejo de ventas y retiros en restaurante – Ejercicio resuelto

Por aquí te dejo más tutoriales de Python en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

8 horas hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

24 horas hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

1 día hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

2 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

1 semana hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

1 semana hace

Esta web usa cookies.