Candidats¶
Un diccionari de vots representa els vots rebuts pels candidats a l’ajuntament d’un municipi. La clau del diccionari és un string que conté el nom i cognoms del candidat i el valor és el nombre de vots. Per exemple:
{'Joan Pere Jorbina Palau':570, 'Niceto Brunildo Fornells':679, 'Mariona Puig Peix': 701, 'Adriana de Tor Quemada': 451}
Un diccionari d’ingressos representa els ingressos anuals de les persones del municipi. La clau del diccionari és un string que conté el nom i cognoms de la persona i el valor són seus ingressos anuals expressats en euros. Per exemple:
{'Mariona Puig Peix':15456, 'Arnau Osorio Lucas':27654, 'Arnau Brigat Pelfred': 18654, 'Niceto Brunildo Fornells':14567}
Es demana que dissenyis les següents funcions en Python i les desis al
fitxer candidats.py:
- candidats.vots_minim(dic, minim)¶
Donats un diccionari de vots dic com el descrit i un nombre enter minim, retorna True si hi ha algun candidat que no hagi assolit un nombre de vots superior a minim donat i False en cas contrari. Per exemple,
>>> dic = {'Joan Pere Jorbina Palau':678, ... 'Niceto Brunildo Fornells':570, 'Mariona Puig Peix': 701, ... 'Adriana de Tor Quemada': 451} >>> vots_minim (dic, 400) False >>> vots_minim (dic, 600) True
Nota
Podeu descarregar el fitxer amb tests
test_vots_minim.txt.
- candidats.can_mes_votat(dic)¶
Donat un diccionari de vots com el descrit, retorna el nom i cognoms del candidat mes votat. Si el diccionari és buit, retorna l’string buit. Per exemple,
>>> dic = {'Joan Pere Jorbina Palau':570, ... 'Niceto Brunildo Fornells':679, 'Mariona Puig Peix': 701, ... 'Adriana de Tor Quemada': 451} >>> can_mes_votat(dic) 'Mariona Puig Peix'
Nota
Podeu descarregar el fitxer amb tests
test_can_mes_votat.txt.
- candidats.vots_ingressos(dvots, ding)¶
Donats un diccionari de vots dvots i un dicionari d’ingressos ding, retorna la llista dels candidats del qui es desconeix els ingressos, és a dir, els que són al diccionari de vots però no al d’ingressos. La llista retornada ha d’estar ordenada alfabèticament:
>>> dvots = {'Joan Pere Jorbina Palau':570, ... 'Niceto Brunildo Fornells':679, 'Mariona Puig Peix': 701, ... 'Adriana de Tor Quemada': 451} >>> ding = {'Mariona Puig Peix':15456, 'Arnau Osorio Lucas':27654, ... 'Arnau Brigat Pelfred': 18654, 'Niceto Brunildo Fornells':14567} >>> vots_ingressos(dvots, ding) ['Adriana de Tor Quemada', 'Joan Pere Jorbina Palau']
Nota
Podeu descarregar el fitxer amb tests
test_vots_ingressos.txt.
- candidats.rics(dvots, ding)¶
Donats un diccionari de vots dvots i un d’ingressos ding, retorna una llista amb els noms de les 10 persones més riques del municipi. A més a més, per cadascuna d’aquestes persones que sigui un candidat, al costat del nom hi ha d’haver un asterisc (“*”). La llista ha d’estar ordenada de més a menys ingressos. Suposeu que al municipi hi ha almenys 10 persones. Per exemple,
>>> dvots = {'Joan Pere Jorbina Palau':570, 'Gil Palomo Como': 743, ... 'Niceto Brunildo Fornells':679, 'Mariona Puig Peix': 701, ... 'Adriana de Tor Quemada': 451, 'Lola Cano Mur': 590, 'Marc Pla Rey': 468} >>> ding = {'Mariona Puig Peix':15456, 'Arnau Osorio Lucas':27654, ... 'Arnau Brigat Pelfred': 18654, 'Niceto Brunildo Fornells':14567, ... 'Pere Pi Pera': 100200, 'Montse Gil Gibert': 115200, ... 'Ana Perez Juan': 200125, 'Gil Palomo Como': 34800, ... 'Joan Petit Balla': 43000, 'Elena Pez Paz': 29000, ... 'Iu Quer Vall': 13000, 'Luz Bayo Cal': 25000, 'Pau Bru Bou': 10000, ... 'Pol Coll Mas': 12000, 'Lola Cano Mur': 10000, 'Marc Pla Rey': 200000} >>> for persona in rics (dvots, ding): ... print(persona) Ana Perez Juan Marc Pla Rey* Montse Gil Gibert Pere Pi Pera Joan Petit Balla Gil Palomo Como* Elena Pez Paz Arnau Osorio Lucas Luz Bayo Cal Arnau Brigat Pelfred
Nota
Podeu descarregar el fitxer amb tests
test_rics.txt.
Solució
Disposeu d’una solució al fitxer candidats.py.