Ejercicio: 1Eva_IIT2017_T3 Venta combustibles
Propuesta de solución en Python:
Se usan datos de prueba para probar la ejecución del algoritmo por cada literal. En el bloque de ingreso se pide solo un tipo de combustible (literal a) y una ciudad (literal b).
Se usa vector.index(dato) para ubicar la posición de un dato en el vector.
# literal a cual = tipoGasolina.index(untipo) cantidad = venta[cual,:] prom_anual = np.sum(cantidad)/m menosprom = [] for c in range(0,m,1): if (cantidad[c]<prom_anual): menosprom.append(gasolinera[c])
Como algunas respuestas tienen un número indeterminado de elementos se usan listas, al inicio vacías. Revise el uso de np.concatenate() para hacerlo con arreglos.
Algoritmo en Python
# CCPG1001 Fundamentos de Programación FIEC-ESPOL # 1Eva_IIT2017_T3 Venta combustibles import numpy as np # INGRESO venta = np.array([ [ 239034, 678493, 896321, 32438, 554213], [4568321, 6745634, 9754008, 3242342, 3456123], [ 234773, 56743, 123678, 4783, 90874], [ 45672, 45212, 90781, 3904, 90431]]) tipoGasolina = np.array(['Regular', 'Extra', 'Super', 'Premium']) gasolinera = np.array(['Primax Alborada', 'PS Los Ríos', 'Móbil Cumbayá', 'Lutexa Cia Ltda', 'PS Remigio Crespo']) distrito = np.array(['distrito1', 'distrito2', 'distrito1', 'distrito2', 'distrito4']) ciudad = np.array(['Guayaquil', 'Babahoyo', 'Quito', 'Guayaquil', 'Cuenca']) meta = 5000000 untipo = input('un tipo de gasolina: ') unaciudad = input('una ciudad: ') # PROCEDIMIENTO tipoGasolina = list(tipoGasolina) gasolinera = list(gasolinera) distrito = list(distrito) ciudad = list(ciudad) tamano = np.shape(venta) n = tamano[0] m = tamano[1] # literal a cual = tipoGasolina.index(untipo) cantidad = venta[cual,:] prom_anual = np.sum(cantidad)/m menosprom = [] for c in range(0,m,1): if (cantidad[c]<prom_anual): menosprom.append(gasolinera[c]) # literal b cual = ciudad.index(unaciudad) anual = np.sum(venta, axis=0) menosciudad = [] for c in range(0,m,1): if (ciudad[c] == unaciudad and anual[c]<meta): menosciudad.append(gasolinera[c]) cuantas = len(menosciudad) # literal c cual = tipoGasolina.index('Premium') cantidad = venta[cual,:] nombres = [] valores = [] for c in range(0,m,1): if (distrito[c] == 'distrito2'): nombres.append(ciudad[c]) valores.append(cantidad[c]) k = len(nombres) mayor = np.argmax(np.array(valores)) mejorendistrito = nombres[mayor] # SALIDA print('literal a') print('con menos ventas anuales que promedio: ') print(menosprom) print('literal b') print('cantidad de estaciones de ' + unaciudad + ': ') print(cuantas) print('literal c') print(nombres) print(valores) print(mejorendistrito)
Resultado del algoritmo
un tipo de gasolina: Regular una ciudad: Guayaquil literal a con menos ventas anuales que promedio: ['Primax Alborada', 'Lutexa Cia Ltda'] literal b cantidad de estaciones de Guayaquil: 1 literal c ['Babahoyo', 'Guayaquil'] [45212, 3904] Babahoyo >>>