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