1. Temperatures mínimes

Disposem d’un nombre de temperatures mesurades en diferents dates per a un conjunt d’estacions meteorològiques automàtiques del Meteocat (Servei Metereològic de Catalunya). Per exemple:


>>> estacions = ['Girona', 'Anglès', 'Olot', 'Farners']
>>> temperatures = [
... ['09:01:2024', [(0.7, -6.4, 11.7), (3.3, -3.9, 10.2), (0.9, -6.7, 10.8), (2.6, -3.0, 11.3)]], 
... ['08:01:2024', [(0.9, -7.2, 13.5), (2.3, -5.2, 13.0), (1.2, -6.1, 11.3), (3.3, -3.3, 13.0)]],
... ['07:01:2024', [(3.2, -4.8, 16.1), (3.9, -3.5, 14.5), (5.0, -1.9, 11.7), (4.8, -11.5, 17.4)]],
... ]

on tenim dues llistes:

  • estacions que és una llista amb els noms de les poblacions de l’estació (str)

  • temperatures que és una llista de llistes on cada subllista conté dos components:
    • una data (str)

    • una llista de temperatures, concretament una list que conté un tuple per a cadascuna de les estacions de estacions i en el mateix ordre. Aquesta tupla conté tres float corresponents a les temperatures mitjana, mínima i màxima mesurades aquella data en aquella estació.

Implementa les funcions següents al mòdul temperatures (fitxer temperatures.py).

temperatures.temperatura_minima(temperatures)

Calcula l’índex de la temperatura mínima

Paràmetres:

temperatures (list) – llista de temperatures

Tipus de retorn:

int

Retorna:

l’índex de la temperatura mínima dins la llista temperatures

En cas que la temperatura mínima es repeteixi, s’ha de retornar l’índex més petit.

Per exemple:


>>> temperatures = [(0.7, -6.4, 11.7), (3.3, -3.9, 10.2), (0.9, -6.7, 10.8), (2.6, -3.0, 11.3)]
>>> r = temperatura_minima(temperatures)
>>> r
2

Els doctests estan disponibles al fitxer test-temperatura_minima.txt.


temperatures.temperatures_data(estacions, temperatures)

Calcula la temperatura mínima i l’estació meteorològica on s’ha produït a cada data.

Paràmetres:
  • estacions (list) – llista amb els noms de les poblacions amb estació meteorològica

  • temperatures (list) – llista de dates i temperatures de cada estació

Tipus de retorn:

list de (str, float, str)

Retorna:

llista on, per a cada data de temperatures conté una llista amb les 3 dades següents:

  • la data

  • temperatura mínima de totes les estacions en aquella data

  • l’estació de la qual prové

Les dates han d’aparèixer en el mateix ordre que en la llista temperatures.

En cas que la mínima de les mínimes s’hagi donat amb més d’una estació s’ha de retornar la primera que apareix a la llista.

Per exemple, tenint en compte les llistes d’entrada de l’exemple anterior, la llista correcta a retornar seria:


>>> from pprint import pprint 

>>> tmo = temperatures_data(estacions, temperatures)
>>> pprint(tmo)
[['09:01:2024', -6.7, 'Olot'],
 ['08:01:2024', -7.2, 'Girona'],
 ['07:01:2024', -11.5, 'Farners']]

Els doctests estan disponibles al fitxer test-temperatures_data.txt.

Important

Cal que aquesta funció cridi la funció temperatura_minima().