Objetivo
Crear un programa en Python que analice los datos de ventas de una tienda para obtener el total de ventas, el promedio de ventas diarias, y encontrar el día con las ventas más altas y el más bajas en un mes.
Datos de Entrada
El programa debe leer un archivo de texto (ventas.txt
) que contiene los datos de ventas diarias de un mes. Cada línea en el archivo representa las ventas de un día específico del mes, como se muestra a continuación:
1500.00
1200.50
1750.00
...
Requerimientos del Programa
- Leer los Datos del Archivo: Abrir y leer el archivo
ventas.txt
para obtener las ventas diarias. - Calcular el Total de Ventas: Sumar todas las ventas para obtener el total mensual.
- Calcular el Promedio de Ventas Diarias: Obtener el promedio de ventas por día.
- Encontrar el Día de Máximas y Mínimas Ventas: Identificar el día del mes con las ventas más altas y el más bajas. Asume que el primer día del archivo corresponde al primer día del mes y así sucesivamente.
- Imprimir los Resultados: Mostrar en pantalla el total de ventas, el promedio diario, y los días con las ventas máximas y mínimas.
Especificaciones Adicionales
- Asegúrate de manejar cualquier error que pueda ocurrir al abrir el archivo o leer sus datos.
- Formatea adecuadamente la salida para que sea fácil de leer para el usuario.
Ejemplo de Salida Esperada
Total de ventas del mes: $45000.00
Promedio de ventas diarias: $1500.00
Día con las ventas más altas: Día 15 ($2000.00)
Día con las ventas más bajas: Día 4 ($1000.00)
Este ejercicio te ayudará a practicar la lectura de archivos, el manejo de excepciones, el trabajo con listas, y la realización de cálculos básicos en Python. Es un excelente ejemplo de cómo se pueden aplicar las habilidades básicas de programación en Python para resolver problemas prácticos y realizar análisis de datos básicos.
Solución
Vamos a desarrollar el ejercicio propuesto paso a paso en Python. El objetivo es analizar un conjunto de datos de ventas, específicamente para calcular el total de ventas, el promedio de ventas diarias, y encontrar los días con las ventas más altas y más bajas.
Supuestos
- El archivo
ventas.txt
existe en el mismo directorio que el script de Python. - Cada línea en el archivo representa las ventas de un día, con los días ordenados secuencialmente desde el primer día del mes.
Código del Analizador de Datos de Ventas
def leer_datos_ventas(archivo):
try:
with open(archivo, 'r') as file:
ventas = [float(line.strip()) for line in file]
return ventas
except Exception as e:
print(f"Error al leer el archivo: {e}")
return []
def calcular_total_ventas(ventas):
return sum(ventas)
def calcular_promedio_ventas(ventas):
return sum(ventas) / len(ventas) if ventas else 0
def encontrar_max_min_ventas(ventas):
max_ventas = max(ventas)
min_ventas = min(ventas)
dia_max_ventas = ventas.index(max_ventas) + 1
dia_min_ventas = ventas.index(min_ventas) + 1
return (dia_max_ventas, max_ventas, dia_min_ventas, min_ventas)
def main():
archivo = 'ventas.txt'
ventas = leer_datos_ventas(archivo)
if ventas:
total_ventas = calcular_total_ventas(ventas)
promedio_ventas = calcular_promedio_ventas(ventas)
dia_max_ventas, max_ventas, dia_min_ventas, min_ventas = encontrar_max_min_ventas(ventas)
print(f"Total de ventas del mes: ${total_ventas:.2f}")
print(f"Promedio de ventas diarias: ${promedio_ventas:.2f}")
print(f"Día con las ventas más altas: Día {dia_max_ventas} (${max_ventas:.2f})")
print(f"Día con las ventas más bajas: Día {dia_min_ventas} (${min_ventas:.2f})")
else:
print("No se pudieron analizar las ventas. Verifique el archivo de datos.")
if __name__ == "__main__":
main()
Instrucciones para Ejecutar el Código
- Asegúrate de que el archivo
ventas.txt
esté en el mismo directorio que este script. - Escribe el código en un archivo
.py
, por ejemplo,analizador_ventas.py
. - Ejecuta el script desde la línea de comandos o terminal con el comando
python analizador_ventas.py
.
Este código aborda todos los requerimientos propuestos y maneja errores básicos, como problemas al leer el archivo. Asegúrate de tener algunos datos en ventas.txt
para que el script funcione correctamente.
Gracias por visitar mi blog de informática, mi nombre es Tomás y soy formador y desarrollador web. Si quiere usted dejarme alguna sugerencia, ayuda o quiere un servicio de formación estoy escuchando ofertas en tomas.gonzalez@infogonzalez.com, en Facebook a https://www.facebook.com/Infogonzalez estoy deseando escucharle. Su duda o sugerencia NO molesta.