Club d'atletisme X65778


Statement
 

pdf   zip

html

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 a, 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 c 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 c 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