3. Joc de paraules (3 punts)¶
En un joc en el que els jugadors han de trobar paraules, la puntuació de cadascuna es calcula sumant un punt per cada caràcter i afegint uns punts extra.
Representem les paraules d’un jugador com una llista d’strings i els punts extra de cada paraula com una llista d’enters de la mateixa longitud a on l’enter a cada posició i indica els punts extra de la paraula a la mateixa posició i.
Per exemple, si les paraules són
['sol', 'lluna', 'cel']
i els punts extra associats són
[2, 1, 4]
les puntuacions són, respectivament,
5,6i7.Dissenya la funció
pos_millorque donades una llista de paraules i una llista de punts extra, retorna la posició a la llista de la paraula amb puntuació màxima. Pots suposar que no hi ha haurà empats a les puntuacions totals i que la llista contindrà almenys un element.Desa la funció al fitxer
paraules.py:Els següents doctests mostren exemples del que ha de fer la funció:
>>> pos_millor(['vent', 'pluges', 'sol', 'boira'], [1, 1, 5, 1]) 2 >>> pos_millor(['fulla', 'riu', 'neu'], [1, 2, 1]) 0
Disposes de més tests al fitxer
test-pos-millor.txtEn una segona fase del joc, es treballa amb la llista original de paraules, però reordenada segons el criteri següent:
La primera part de la llista és el tros de la llista original que va des de la paraula amb puntuació màxima (inclosa) fins al final.
La segona part de la llista és el tros de la llista original que va des del principi fins a la paraula amb puntuació màxima (no inclosa), capgirat.
Dissenya la funció
reordenaque donada una llista de paraules i una llista de punts extra, retorna una llista nova amb les paraules reordenades segons els criteris anteriors.Aquesta funció ha de cridar la funció
pos_millor.Desa la funció al fitxer
paraules.py:Els següents doctests mostren exemples del que ha de fer la funció:
>>> reordena(['vent', 'pluges', 'sol', 'boira', 'mar'], [3, 0, 6, 0, 1]) ['sol', 'boira', 'mar', 'pluges', 'vent'] >>> reordena(['casa', 'mar', 'núvol', 'tempesta'], [0, 2, 1, 0]) ['tempesta', 'núvol', 'mar', 'casa']
Disposes de més tests al fitxer
test-reordena.txtDisposes de solucions al fitxer
paraules.py.