Excursions¶
El centre excursionista del barri conté la informació relativa a les excursions que pot organitzar en un fitxer de text. El fitxer té una primera línia amb el nom dels camps i una segona línia separadora. De la tercera línia fins a la darrera tindran els camps següents:
Nom del destí
Kilòmetres (representa els km en cotxe fins al punt de sortida) representarà un enter
Grau de dificultat (des d’1 en cas que sigui de dificultat baixa fins a 5 en cas de dificultat alta)
Durada (durada en minuts de l’excursió)
Comarca (Comarca en què acaba el recorregut de l’excursió).
Les dades de cada línia estan separades pel caràcter ':'. Vegeu,
per exemple, el fitxer sortim.txt:
Nom_destí Kilòmetres Grau_de_dificultat durada_recorregut Comarca
====================================================================
Santa Creu d'Olorda:14:1:45:Baix Llobregat
Sant Ramon:17:2: 120:Baix Llobregat
Castell de Sant Miquel:31:2:45:Vallès Oriental
Escletxes del Papiol:12:3:90:Baix Llobregat
Castells de Besora i Montesquiu:97:5:180:Osona Matagalls:70:5:170:Osona
Puig de les aligues:105:4:200:Osona
Es demana fer la funció
- on_podem_anar(nom_fitxer)¶
que a partir del nom d’un fitxer de les característiques anteriors, calculi i retorni un diccionari. El diccionari ha de complir les següents condicions:
Tingui com a claus els enters d’1 a 5 (corresponents als diferents graus de dificultat de les excursions)
Com a valor associat a cada un d’ells una llista de tuples. En la llista hi haurà la informació de les diferents excursions del nivell corresponent a la clau.
Les tuples tindran tres elements: el nom del destí (un string), la comarca (un string) i la despesa per desplaçament que haurem de fer (un float). El càlcul de la despesa serà el float arrodonit a dos decimals que tindrem al multiplicar la distància en kilòmetres fins al punt de sortida per 0.26 euros/kilometre.
A més es demana que les llistes associades a cada clau estiguin ordenades de manera creixent en funció de la despesa de viatge de l’excursió. Pots veure quin és el resultat en cas del fitxer anterior.
>>> d= on_podem_anar('sortim.txt') >>> if d!= {1: [("Santa Creu d'Olorda", 'Baix Llobregat', 3.64)], ... 2: [('Sant Ramon', 'Baix Llobregat', 4.42), ('Castell de Sant Miquel', 'Vallès Oriental', 8.06)], ... 3: [('Escletxes del Papiol', 'Baix Llobregat', 3.12)], ... 4: [('Puig de les aligues', 'Osona', 27.3)], ... 5: [('Matagalls', 'Osona', 18.2), ('Castells de Besora i Montesquiu', 'Osona', 25.22)]}: ... print (d)
Desa la funció al fitxer excursio.py. Pots descarregar un joc de proves a test-excursio.txt. Pots descarregar una solució a excursio.py.