La informació de una determinada població es representa com una llista de tres elements: el nom de la població (un string), el nom de la comarca (un string) i la altitud (un enter). Un exemple amb la informació de Cervera seria: [‘Cervera’, ‘Segarra’, 548].
Dissenya una funció classificaUnaComarca(lpob, com) que donada una llista lpob de poblacions com les descrites a dalt i el nom d’una comarca com, calcula i retorna un d’aquest tres strings: ‘de muntanya’ si és una comarca de muntanya, ‘de costa’ si és de costa, o ‘mixta’ si és una comarca “mixta”. Una comarca es diu que és de muntanya quan totes les seves poblacions estan per sobre de 500 metres; es diu que és de costa quan totes les seves poblacions estan per sota o igual a 500 metres; altrament es diu que és una comarca mixta (te algunes poblacions per sobra i d’altres per sota de 500 metres). Pots suposar que la comarca com te almenys una població a la llista lpob.
>>> lp = [ [ 'Gurb', 'Osona', 563], ... [ 'Cervera', 'Segarra', 548 ], ... [ 'Balaguer', 'Noguera', 233 ], ... [ 'Tarrega', 'Segarra', 490 ], ... [ 'Odena', 'Anoia', 421 ] ... ] >>> classificaUnaComarca(lp, 'Segarra') 'mixta' >>> classificaUnaComarca(lp, 'Osona') 'de muntanya'
Dissenya una funció classificaLlistaComarques(lpob, lcom) que donada una llista lpob amb informació de diverses poblacions, i una llista lcom amb noms de comarques, calcula i retorna tres llistes: una amb aquelles comarques de lcom que són de muntanya, un altre amb les que són de costa i un altre amb les comarques de la llista lcom que són “mixtes”.
Tingues en compte el següent:
Fes servir la funció classificaUnaComarca que has implementat a l’apartat anterior.
Cadascuna de les tres llistes de comarques ja classificades ha de estar ordenada per ordre alfabètic, i no poden contenir noms repetits.
Pots suposar que totes les comarques de la llista lcom tenen almenys una població a la llista lpob.
També pots suposar que la llista lcom no conté noms repetits.
>>> lp = [ [ 'Gurb', 'Osona', 563 ],
... [ 'Cervera', 'Segarra', 548 ],
... [ 'Balaguer', 'Noguera', 233 ],
... [ 'Tarrega', 'Segarra', 490 ],
... [ 'Odena', 'Anoia', 421 ]
... ]
>>> lc = ['Anoia', 'Segarra', 'Noguera'] # Es classifiquen només aquestes tres
>>> lCosta, lMuntanya, lMixtes = classificaLlistaComarques(lp, lc)
>>> lCosta
['Anoia', 'Noguera']
>>> lMuntanya
[]
>>> lMixtes
['Segarra']
Dissenya una funció llistaNomsComarques(lpob) que donada una llista lpob amb informació de diverses poblacions, calcula i retorna la llista del noms de comarques que les poblacions de lpob. La llista de comarques resultant ha de estar ordenada per ordre alfabètic i no pot contenir noms repetits.
>>> lp = [ [ 'Gurb', 'Osona', 563 ], ... [ 'Cervera', 'Segarra', 548 ], ... [ 'Balaguer', 'Noguera', 233 ], ... [ 'Tarrega', 'Segarra', 490 ], ... [ 'Odena', 'Anoia', 421 ] ... ] >>> llistaNomsComarques(lp) ['Anoia', 'Noguera', 'Osona', 'Segarra']
Dissenya una funció comarquesCostaneres(lpob) que donada una llista lpob amb informació de diverses poblacions, calcula i retorna la llista de totes les comarques costaneres d’aquesta llista de poblacions. Una comarca és costanera quan totes les seves poblacions estan per sota o igual a 500 metres.
Tingues en compte el següent:
Fes servir les funcions llistaNomsComarques i classificaLlistaComarques que has implementat als apartats anteriors.
Si no hi ha cap comarca costanera es retornarà la llista buida.
La llista de comarques costaneres resultant ha de estar ordenada per ordre alfabètic i no pot contenir noms repetits.
>>> lp = [ [ 'Gurb', 'Osona', 563 ],
... [ 'Cervera', 'Segarra', 548 ],
... [ 'Balaguer', 'Noguera', 233 ],
... [ 'Tarrega', 'Segarra', 490 ],
... [ 'Odena', 'Anoia', 421 ]
... ]
>>> comarquesCostaneres(lp)
['Anoia', 'Noguera']