Parelles X13504


Statement
 

pdf   zip

html

Una empresa de vegades necessita enviar a dos treballadors per a realitzar reparacions. Per formar les parelles té les dades dels treballadors en un diccionari en el qual la clau és el nom d’un treballador i el valor la llista amb els noms de la resta de treballadors amb els que està disposat a treballar. Que el treballador ’pep’ estigui disposat a treballar amb ’paco’ no implica que ’paco’ estigui disposat a treballar amb ’pep’. És possible que algun treballador no vulgui treballar amb ningú.

  1. Quan un treballador deixa l’empresa s’esborra la seva entrada del diccionari, però el seu nom pot seguir apareixent a les llistes de preferencies d’altres treballadors.

    Programa una funció limpia(preferencias) que, donat un diccionari preferencias com el descrit a l’inici, retorni un nou diccionari en el qual s’han tret els noms de treballadors que ja no estan en l’empresa, és a dir, que ja no són claus.

  2. L’empresa necessita enviar treballadors a realitzar reparacions. Programa una funció empareja(ltrab, preferencias), que donada una llista ltrab de treballadors de l’empresa destinats cadascun a una reparació diferent, i un diccionari preferencias com el descrit a l’inici, retorni un diccionari que associï cada empleat destinat a reparacions amb els possibles acompanyants (aquells que es prefereixen mútuament però no estan destinats a un altre servei de reparació diferent).

Puntuació

Apartat 1: 45 puntos.

Apartat 2: 55 puntos.

Sample session
>>> d1 = {'pep': ['pau', 'marc', 'eva'], 'pau': ['ana', 'lluc']}
>>> d2 = limpia(d1)
>>> d2 == {'pep': ['pau'], 'pau': []}
True

>>> serv = ['sabrenia', 'rowhn', 'storms']
>>> prefs = {'jennafer-lee': ['storms', 'sabrenia', 'sarma', 'nyera'],
...          'niloofar': ['jennafer-lee', 'rowhn', 'aaniah', 'brents'],
...          'sabrenia': [],
...          'rowhn': [],
...          'ishrat': ['aaniah', 'lyndell', 'lavarr', 'sarma', 'sanburn'],
...          'nyera': ['maxantia'],
...          'maxantia': ['nüket', 'storms', 'jerid', 'lavarr', 'nică'],
...          'sanburn': ['niloofar'],
...          'sarma': ['jerid', 'nüket', 'rowhn', 'sanburn'],
...          'aaniah': ['sabrenia', 'nică', 'niloofar', 'jennafer-lee'],
...          'nüket': ['nică', 'maxantia'],
...          'nică': ['storms', 'lavarr', 'sarma', 'rowhn'],
...          'storms': ['aaniah', 'maxantia', 'lavarr', 'nică']}
>>> emp = empareja(serv, prefs)
>>> emp == {'sabrenia': [], 'rowhn': [], 'storms': ['maxantia', 'nică']}
True
Information
Author
InfBesos
Language
Catalan
Translator
Original language
Spanish
Other languages
English Spanish
Official solutions
Python
User solutions
Python