Competició¶
Es disputa un torneig d’escacs entre estudiantat de la universitat. La
informació que tenim per a cada estudiant es guarda en una llista que
conté el nom de l’estudiant, el nombre de victòries, el nombre de
taules, el nombre de derrotes i el nombre d’incompareixences. Per
exemple, ['Joan Joanet', 6, 3, 2, 1] ens diu que l’estudiant és en
'Joan Joanet' ha guanyat 6 partides, ha fet 3 taules, n’ha perdut
2 i no s’ha presentat a una partida. Els punts que li correspon a cada
jugador/a es calculen com les victòries per tres menys les derrotes
multiplicades per dos menys les no compareixences per 4. És a dir al
'Joan Joanet' li corresponen 6*3-2*2-1*4 punts, per tant, 10 punts.
Dissenya la funció
guanyadorsque donada una llista de subllistes amb la informació dels resultats de les partides d’escacs d’un jugador, retorna una llista amb tres subllistes. Cada subllista conté dos elements: un enterpunts_totals_jugque representa els punts que ha fet un jugador segons el càlcul anterior i un string amb el nom del jugador. Les tres subllistes correspondran als tres jugadors que han fet més punts ordenats decreixentment.Desa la funció al fitxer
competicio.py. La funció ha de passar el següent doctest:>>> l=[['Joan Joanet', 6, 3, 2, 1], ['Maria Mar', 8, 1, 0, 0], ['Pere', 5, 4, 2, 2]] >>> guanyadors(l) [[24, 'Maria Mar'], [10, 'Joan Joanet'], [3, 'Pere']] >>> l.append(['Silvia C', 5, 5, 1, 0]) >>> guanyadors(l) [[24, 'Maria Mar'], [13, 'Silvia C'], [10, 'Joan Joanet']] >>> l.append(['Josep M.', 2, 5, 1, 3]) >>> guanyadors(l) [[24, 'Maria Mar'], [13, 'Silvia C'], [10, 'Joan Joanet']]
Nota
Pots descarregar el fitxer amb tests
test-competicio.txt
Disposes d’una solució al fitxer competicio.py