Dades meteorològiques

Les dades meteorològiques de diverses poblacions catalanes es representen amb un diccionari a on cada clau és el nom d’una població (string) i cada valor una llista amb les temperatures mínima i màxima enregistrades fins al moment per a aquesta població. Per exemple:

{'Roses':[12.5,18.8],'Sant Celoni':[7.5,8.3], 'Barcelona':[15.2,19]}

D’altra banda, es disposa d’una llista de medicions a on cada medició es una tupla amb el nom d’una població i una temperatura enregistrada. Pot haver-hi més d’una temperatura enregistrada per la mateixa ciutat. Per exemple:

[('Girona',13),('Sant Celoni',7.2),('Barcelona',19.2)]

A partir d’aquesta llista de medicions es desitja actualitzar el diccionari. Dissenya la funció actualitza_dades que donat un diccionari de dades meteorològiques i una llista de medicions, modifica el diccionari de la següent manera:

  • Si la medició és d’una ciutat que no apareix al diccionari, s’hi afegeix amb totes dues temperatures (mínima i màxima) iguals a la medició.

  • Si la medició és d’una ciutat ja present al diccionari, s’actualitza, segons calgui, les temperatures mínimes o màximes d’aquesta ciutat.

Desa la funció al fitxer dades_meteo.py.

Els següents doctests mostren exemples del que ha de fer la funció:

>>> d = {'Roses':[12.5,18.8],'Sant Celoni':[7.5,8.3],
... 'Barcelona':[15.2,19]}

>>> lmed = [('Girona',13),('Sant Celoni',7.2),('Barcelona',19.2)]

>>> actualitza_dades(d,lmed)
>>> d == {'Girona':[13,13],'Roses':[12.5,18.8],'Sant Celoni':[7.2,8.3],'Barcelona':[15.2,19.2]}
True

Nota

Podeu baixar el fitxer amb tests dades_meteo.txt

Solució

Disposeu d’una solució al fitxer dades_meteo.py.