1. Oscil·lació tèrmica

  1. Es definex l’oscil·lació tèrmica en un període determinat com la diferència entre les temperatures màxima i mínima que s’han enregistrat en el període.

    Dissenya la funció dic_osc que donat un diccionari on les claus són noms de ciutats (string), que poden ser 'Barcelona', 'Girona', 'Lleida' o 'Tarragona', i on els valors són llistes de dos elements amb la temperatura mínima i màxima enregistrada a la ciutat en un període, retorna un nou diccionari on les claus son noms de ciutats i els valors l’oscil·lació tèrmica per cadascuna d’elles arrodonida a un decimal.

    Al diccionari resultat hauran d’aparèixer sempre les quatre ciutats. Si alguna de las ciutats no apareix al diccionari donat, la seva oscil·lació tèrmica serà 0.0

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

    >>> dades1 = {
    ...     "Lleida": [-5.54, 20.04],
    ...     "Barcelona": [0.0, 15.75],
    ...     "Tarragona": [-2.0, 3]
    ... }
    >>> do = dic_osc(dades1)
    >>> do == {'Lleida': 25.6, 'Barcelona': 15.8, 'Tarragona': 5.0, 'Girona': 0.0}
    True
    

    Desa la funció al fitxer oscterm.py.

    Nota

    Disposes de més tests al fitxer test-dic-osc.txt

  2. Disposem d’un fitxer amb dades de temperatures de quatre ciutats catalanes (Barcelona, Girona, Lleida i Tarragona). Cada línia conté un nom de ciutat, un mes i una temperatura enregistrada en aquest mes, tot separat per comes. La primera línia conté una capçalera amb els noms de les dades. Per exemple:

    ciutat,mes,temperatura
    Tarragona,1,6.08
    Girona,7,14.2
    Girona,7,12.34
    Girona,9,14.17
    Barcelona,8,15.5
    Lleida,7,12.11
    Girona,8,10.03
    Lleida,7,21.2
    Tarragona,7,12.37
    Barcelona,7,22.8
    Barcelona,7,22.8
    

    Pots descarregar el fitxer d’exemple complet temps1.txt

    Dissenya la funció oscillacio(nf,m), que donats un nom de fitxer nf (string) i un mes m (enter), retorni un diccionari on cada clau és un nom de ciutat i cada valor l’oscil·lació tèrmica a aquesta ciutat pel mes m. Aquest diccionari haurà d’incloure sempre les quatre ciutats (Barcelona, Girona, Lleida i Tarragona) encara que, per alguna d’elles, no hi hagi cap dada pel mes donat al fitxer. En aquest cas, la oscil·lació tèrmica serà 0.0.

    Aquesta funció ha de cridar a la funció dic_osc().

    Per exemple, pel fitxer temps1.txt indicat anteriorment, la funció donaria els següents resultats:

    >>> d = oscillacio('temps1.txt',7)
    >>> d == {'Barcelona': 0.0, 'Girona': 1.9, 'Lleida': 9.1, 'Tarragona': 0.0}
    True
    

    Desa la funció al fitxer oscterm.py.

    Nota

    Disposes de més tests al fitxer test-oscillacio.txt

Disposeu de solucions al fitxer oscterm.py