Ejemplo listas: control de temperaturas
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.
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
#Control de temperaturas
#Importo randon
import random
N=random.randint(1,31)
#Inicializa las variables
lista_numeros=[]
lista_media=[]
#Pedir los N valores
for i in range(N):
bandera=True
while bandera:
#Evitar que el usuario introduzca una letra
try:
numero=int(input("Dame la temperatura"))
except:
print("No tecleaste un número entero")
else:
if numero>0:
#Solamente se introduce si el valor es mayor que cero
lista_numeros+=[numero]
bandera=False
else:
print("Tecleaste un 0 o número negativo")
media=sum(lista_numeros)/len(lista_numeros)
print("Se han generado {} números".format(lista_numeros))
for i in lista_numeros:
if i >media:
lista_media.append(i)
print("La lista de núemros es: {}".format(lista_numeros))
#Visualizar la información
if len( lista_media)==0:
print("NO hay números superior a la media")
else:
print("Hay {} números , superior a la media{}".format(len(lista_media),round(media),2))