1. Arrodoniment de notes¶
Disposem d’una llista de qualificacions obtingudes per un conjunt d’estudiants. Es tracta d’una llista de llistes on cada subllista representa la informació d’un estudiant. Cada subllista conté:
El nom de l’estudiant (un string, sempre en la primera posició).
Una sèrie de notes (float o int) corresponents a diferents assignatures.
Per exemple:
[['a',4,5,7,4.79],['b',4,5,7,4.79]]
Suposarem que tots els estudiants han fet les mateixes assignatures i que, com a mínim, hi ha una nota per cada estudiant.
Dissenya la funció corregeix_nota(lq,ind) que, donats una llista de qualificacions lq i un enter ind, modifica les qualificacions de les notes que es trobin a la posició ind de cada subllista, sempre que la nota estigui entre 4.75 i 5.0 (exclosos), i la canvia per un 5.0.
A més de fer les modificacions, la funció ha de retornar el nombre de notes que ha modificat. Si ind no és un índex vàlid (és a dir, no correspón a una nota o està fora de rang) o la llista de qualificacions està buida, la funció ha de retornar -1 sense fer cap modificació.
Desa la funció al fitxer arrodoniment.py i puja’l a Atenea.
Els següents doctests mostren exemples del que ha de fer la funció:
>>> l = [['a',4,5,7,4.79],['b',4,5,7,4.79]]
>>> corregeix_nota(l, 6)
-1
>>> l
[['a', 4, 5, 7, 4.79], ['b', 4, 5, 7, 4.79]]
>>> corregeix_nota(l, 2)
0
>>> l
[['a', 4, 5, 7, 4.79], ['b', 4, 5, 7, 4.79]]
>>> corregeix_nota(l, 4)
2
>>> l
[['a', 4, 5, 7, 5.0], ['b', 4, 5, 7, 5.0]]
Nota
Disposes de més tests al fitxer test-corregeix-nota.txt
Disposeu de solucions al fitxer arrodoniment.py