Ejemplos listas y funciones: Control de temperatura
Ejemplo
Enunciado
Control de temperatura en un invernadero
Se introducirán N temperaturas (estas deben ser positivas y mayores que cero), se almacenarán en una lista (si el número no es válido debe volver a pedirse, y el programa no se interrumpirá, aunque el usuario se equivoque al introducirlo. Control de errores). N será un número elegido al azar entre 1 y 31. A continuación, visualizará los siguientes resultados:
Visualizar las temperaturas introducidas.
Visualizar las temperaturas introducidas y la media de ellas, redondeado a dos decimales.
Indicar cuantas temperaturas superan la media.
Para ello, debe utilizar cuatro funciones:
Bienvenida.
Pida las temperaturas
Calcula la media.
Cuantas temperaturas superior a la media hay.
Análisis:
Se debe generar N.
Preguntar al usuario la temperatura debe ser mayor que cero.
Cálculo la media.
Cuantas superar la media.
Código completo
import random
def bienvenida():
print(" ")
print("Programa de temperaturas")
print(" ")
def validar(mensaje,limite_superior):
bandera=True
while bandera:
try:
dato=float(input(mensaje))
except:
print("Tecleaste letras")
else:
if dato>0 or dato<limite_superior:
bandera=False
else:
print("Tecleaste 0 un negtaivo")
return dato
def calcula_media(lista):
media=sum(lista)/len(lista)
return media
def superior_media(lista,m):
hay=0
for i in range(len(lista)):
if lista[i]>m:
hay+=1
return hay
N=random.randint(1,31)
temperatura=random.randint(1,100)
lista_temperaturas=[]
bienvenida()
for i in range(N):
lista_temperaturas.append(validar("dame la temperatura",temperatura))
media=calcula_media(lista_temperaturas)
print("La media es {}".format(round(media,1)))
print("hay {} superior a la media".format(superior_media(lista_temperaturas,media)))