Club d'atletisme X65778


Statement
 

pdf   zip

Un club d’atletisme necessita un programa per portar el control dels seus atletes i dels resultats que obtenen al llarg de la temporada. Aquestes dades s’emmagatzemen en una llista de llistes on cada subllista conté les dades d’un atleta. De cada atleta es guarda: el nom i cognom, número de fitxa federativa, sexe, si és o no sènior i el número de medalles d’or, plata i bronze guanyades al llarg de la temporada. A l’exemple següent:

A l’exemple següent, el Toni Arranz té com a fitxa el 111F, és un home, és sènior i ha aconseguit 3 medalles d’or, 5 de plata i 4 de bronze.

c = [['Toni Arranz', '111F', 'Home', True, 3, 5, 4],\
     ['Pep Tremossa', '222G', 'Home', False, 5, 10, 1],\
     ['Pepa Domenech', '333H', 'Dona', True, 3, 0, 17]]

Es demanen els codis de diverses funcions. Seguiu el format dels exemples que es mostren a sota. En tots els enunciats podeu suposar que sempre hi ha dades.

  1. Feu una funció @punts(a)@ en que, donada una llista que codifica les dades d’un atleta aa, retorni la suma dels punts que ha aconseguit tenint en compte que les medalles d’or valen 5 punts, les de plata 2 i les de bronze 1.

  2. Feu una funció @puntuacio(c)@ en que, donada una llista cc com la mostrada en l’exemple, retorni la suma del tots els punts aconseguits pels seus atletes sènior.

  3. Feu una funció @ordre(c)@ en que, donada una llista cc com la mostrada en l’exemple, retorni una llista amb el noms dels atletes ordenats de més gran a més petit en funció de la seva puntuació.

Les tres funcions valen 20, 30 i 50 punts respectivament.

Observació

Sample session
>>> c = [['Toni Arranz', '111F', 'Home', True, 3, 5, 4],\
...      ['Pep Tremossa', '222G', 'Home', False, 5, 10, 1],\
...      ['Pepa Domenech', '333H', 'Dona', True, 3, 0, 17]]
>>> punts(c[0])
29
>>> puntuacio(c)
61
>>> ordre(c)
['Pep Tremossa', 'Pepa Domenech', 'Toni Arranz']
Information
Author
Gerard Escudero
Language
Catalan
Official solutions
Python
User solutions
Python