Ejercicios Integradores Resueltos (Listas, Matrices, Diccionarios, Funciones)
Requisitos de finalización
Este libro pretende poner a disposición del Alumno Ejercicios integradores resueltos. Los temas incluidos son:
- Listas
- Matrices
- Diccionarios
- Funciones
Sr. Docente. Si Propone un ejercicio y lo resuelve por favor cree un capítulo y escriba la consigna y solución propuesta.
9. Temperaturas Días Semana.
'''Consigna:
Dado un diccionario que tiene los días laborares de la semana en el que se cargan para cada día valores de 5 temperaturas del día que pueden estar en [-10,10] ó [20;50] crear una función que muestre el menu siguiente: 1)Cargar un día...(paso como argumento las claves del diccionario..) 2)Mostrar día...(paso número de día 1 para Lunes,2 para Martes..) 3)Mostrar todo el diccionario ( un día por línea) 4)Mostrar el día que tuvo mayor promedio 5)Salir. Cada punto del 1 al 4 implementar con una función. ''' # Que faltaría para ir mejorando el programa? # Que pasa si se carga dos veces un día? # Que pasa si se ingresan valores que no corresponden? letras en lugar de números. # Puedo parametrizar los valores de temperatura? # Que pasa si no cargue nada y ejecuto puntos 2,3,4? datos={'Lunes':[],'Martes':[],'Miercoles':[],'Jueves':[],'Viernes':[]} #------------------------------------------------------------ def menu(): while True: print('1) Cargar un día de la semana') print('2) Mostra temperaturas de un día') print('3) Mostrar todo los datos') print('4) Mostrar el día con mayor promedio') print('5) Salir-finalizar el programa') opc=input('Ingrese una opción válida: ') if not(opc=='1' or opc=='2'or opc=='3'or opc=='4'or opc=='5'): print('La opción ingresada no es válida.. reingrese..') else: return opc #------------------------------------------------------------ def cargar(dia): for i in range(5): temp=float(input('Ingrese la temperatura: ')) while not((temp>=-10 and temp<=10) or (temp>=20 and temp<=50)): print('Ud. ingresó un valor que no pertence al rango..reingrese..') temp=float(input('Ingrese la temperatura: ')) datos[dia].append(temp) #------------------------------------------------------------ def mostrar_dia(dia): dias_semana=['Lunes','Martes','Miercoles','Jueves','Viernes'] print(datos[dias_semana[dia-1]]) #------------------------------------------------------------ def mostrar_todo(): print('-------------Valores cargados------------------') for z in datos: print(datos[z]) print('------------------------------------------------') #------------------------------------------------------------ def mayor_promedio(): promedio_maximo=0 for i in datos: print('i vale',i) acumulador=0 for x in range(5): acumulador=acumulador+datos[i][x] if promedio_maximo<(acumulador/5): dia=i return dia # Código principal------------------------------------------------- while True: opc=menu() if opc=='1': while True: dia=input('Ingrese un día de la semana: ') dia=dia.capitalize() if dia in datos: cargar(dia) break else: print('El día ingresado no es válido. Reingrese..') print(datos) elif opc=='2': while True: dia=int(input('Ingrese un día de la semana: ')) if dia in range(1,6): mostrar_dia(dia) break else: print('El día ingresado no es válido. Reingrese..') elif opc=='3': print('tres') elif opc=='4': print(mayor_promedio()) elif opc=='5': break