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í:

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

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

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


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 4,747 suscriptores


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/

0 Comentarios

Deja un comentario

Marcador de posición del avatar

Tu dirección de correo electrónico no será publicada.

A %d blogueros les gusta esto: