Candidats X91421


Statement
 

pdf   zip

html

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}

Es demanen els codis de diverses funcions. Seguiu el format dels exemples que es mostren a sota. Suposseu que als diccionaris d’entrada sempre hi ha almenys un candidat.

  1. Feu una funció votsMinim(dic, minim) en que, donat un diccionari com el descrit i donat un enter, retorni True si hi ha algun candidat que no hagi assolit un nombre de vots superior a l’enter donat i False en cas contrari.
  2. Feu una funció candidatMesVotat(dic) en que, donat un diccionari com el descrit, retorni el nom i cognoms del candidat mes votat.
  3. 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}
    

    Feu una funció votsIngressos(dvots, ding) en que, donat un diccionari de vots i un dicionari d’ingressos, retorni la llista dels candidats del que es desconeix els ingressos, és a dir, els que són al diccionari de vots però no al d’ingressos. La llista a retornar ha d’estar ordenada alfabèticament.

  4. Feu una funció rics(dvots, ding) en que, generi i retorni una llista amb els noms de les tres persones més riques del municipi. 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.

Les dues primeres funcions valen 20 punts i les altres dues 30.

Observació

Aquest problema és el problema "Candidats" creat per professors del departament de Ciències de la Computació amb docència a l’ETSEIB. Podeu consultar l’original a:

http://gie.cs.upc.edu/fi/temes/diccionaris/Candidats.html

Sample session
>>> dvots = {'Joan Pere Jorbina Palau':570, 'Niceto Brunildo Fornells':679,
...  'Mariona Puig Peix': 701, 'Adriana de Tor Quemada': 451}
>>> votsMinim(dvots, 400)
False
>>> votsMinim(dvots, 600)
True
>>> candidatMesVotat(dvots)
'Mariona Puig Peix'
>>> ding = {'Mariona Puig Peix':15456,'Arnau Osorio Lucas':27654,
...  'Arnau Brigat Pelfred': 18654, 'Niceto Brunildo Fornells':14567}
>>> votsIngressos(dvots, ding)
['Adriana de Tor Quemada', 'Joan Pere Jorbina Palau']
>>> rics(dvots, ding)
['Arnau Osorio Lucas', 'Arnau Brigat Pelfred', 'Mariona Puig Peix*']
>>>
Information
Author
Professors de l'ETSEIB del departament de CS
Language
Catalan
Official solutions
Python
User solutions
Python