Un cop acabada la lliga, un equip de futbol ens acaba de demanar que gestionem la informació relativa a les fitxes dels seus jugadors. Ens interessa guardar de cada jugador: el seu nom, sou, si està lesionat, l’any d’inici del contracte, la seva duració en anys i si ha rebut alguna oferta per la propera temporada. A l’exemple següent, el Pep té un sou de 5000, no està lesionat, el seu contracte ha començat el 2016 i és de 4 anys i té una oferta.
p = [['Pep', 5000, False, 2016, 4, False],\
['Pere', 4500, True, 2017, 3, False],\
['David', 10000, True, 2015, 5, True],\
['Rigoberto', 4000, False, 2014, 6, False]]
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.
Feu una funció @valid(j, a)@ en que, donada una llista que codifica les dades d’un jugador i un any , retorni si el jugador tindrà el contracte en vigor l’any , no està lesionat i no ha rebut cap oferta.
Feu una funció @valids(p, a)@ en que, donada una llista com la mostrada en l’exemple i un any , retorni el promig (amb una xifra decimal) dels sous dels jugadors vàlids (amb contracte, no lesionats i sense oferta).
Feu una funció @lesionat(p, a)@ en que, donada una llista com la mostrada en l’exemple i un any , retorni si hi ha alguna jugador lesionat que té la fitxa superior al doble de la mitjana de sous dels jugadors vàlids.
Les tres funcions valen 20, 35 i 45 punts respectivament.
>>> p = [['Pep', 5000, False, 2016, 4, False],\ ... ['Pere', 4500, True, 2017, 3, False],\ ... ['David', 10000, True, 2015, 5, True],\ ... ['Rigoberto', 4000, False, 2014, 6, False]] >>> valid(p[0], 2020) True >>> valid(p[1], 2019) False >>> valids(p, 2018) 4500.0 >>> lesionat(p,2017) True