13. Ejercicio 11/06

Realizar un programa en Python que permita almacenar datos de 2 líneas de producción de una fábrica. Cada línea procesa el mismo tipo de producto, pero los valores de temperaturas y humedades distintas, es decir para cada Línea se almacenan varias temperatura y humedades.

Se propone crear un diccionario con una clave para cada línea de producción, y que cada clave almacene en dos listas los valores de temperaturas y humedades. A continuación, se muestra un ejemplo de la Estructura de datos propuesta:

Diccionario={"Linea1":[ [temperaturas] [humedades] ],"Linea2":[ [temperaturas] [humedades] ]}

Definir N en el programa principal como constante simbólica (> 1), N será la cantidad de pares de valores que se cargan en una línea, mas adelante te se explica el uso.

El programa presentará un menú invocando a la función menú que muestra:

1) Carga de valores de Temp y Humedad para una línea

2) Calculo de cantidad de mediciones de cada línea.

3) Listado de los registros de temp y humedad para las dos líneas.

4) Promedio de temperatura y humedad para cada línea.

S o s ) Salir del programa.

Función menú : No recibe argumento, y retorna SOLAMENTE 1,2,3,4,5 o s .

Punto 1: se invoca a la función ingreso que recibe como argumento una la clave válida ( Linea1 o Linea2 del diccionario) . Desde el programa principal se debe pedir reingreso si la Clave( Línea1 o Linea2 ) no es ingresada, luego de ingresar una clave válida se envía esta como argumento a la función ingreso. En la función se cargan N valores de Temperatura y luego N valores de Humedad para la línea que se recibe como argumento, que se agregan al los ya existentes en el diccionario/lista. Recordar que N esta indicado como constante simbólica. Las temperaturas deben encontrarse (validar) en [0;50] y la Humedad a [0;100). Si no están en ese rango se debe solicitar reingreso. La función ingreso deber retornar una variable booleana , que se utilizará para validar las opciones 2,3 y 4 que solo se puedan realizar si por lo menos se hizo una vez el punto 1. Esta función ingreso puede ser llamada las veces que sea, es decir TODAS las veces que se invoque se cargarían N pares de valores de temperatura y humedad.

Punto 2: se invoca a la función cantidad que retorna al programa principal la cantidad de valores cargados en la lista de cada línea , este valor retornado se debe mostrar en la pantalla desde el programa principal. A modo de Ejemplo si el diccionario estuviera cargado con :

Diccionario={"Linea1":[ [5,10] [80,90] ],"Linea2":[ [10,50, 45,38] [55,65,85,95] ]}

Debería retornar 2 y 4. 2 Valores cargados para linea 1 y 4 para la linea 2, en nuestro ejemplo N puede valer 1 o 2.

Punto 3: Se muestran los registros cargados al momento para cada línea.

Punto 4: Se debe llamar a la función promedio, que  regresa una lista con los valores de los promedios de temperatura y humedad de cada línea ( serian 4 valores en la lista) y se muestran en el programa principal.

Importante: Tener presente que si NO se cargó en el punto 1, NO se puede realizar la operación 2, 3 y 4.