Natació

La seleccionadora de l’equip català de natació sincronitzada ha d’avaluar el rendiment de les esportistes d’elit d’aquesta disciplina. Cada esportista ha realitzat 3 proves completes d’aptitud al llarg del trimestre. Cada prova d’aptitud ha donat lloc a una nota sobre 10. Per a l’avaluació final de les esportistes es tenen en compte aquests tres resultats. La qualificació final es basa en les regles següents:

  • Si l’esportista ha suspès una o més de les proves (nota inferior a 5) la qualificació és 0 (desqualificada).

  • Si l’esportista no ha suspès cap prova, se la considera apta. La seva qualificació és la part entera de la mitjana aritmètica dels resultats de les seves proves.

  • Si l’esportista és apta i, a més, ha tingut una progressió creixent de resultats, se li atorga un punt addicional. La progressió de resultats és creixent si es compleix, per totes les proves excepte la primera, que els resultats de la prova són iguals o superiors als de la prova anterior.

  • Si l’esportista és apta, se li atorga un punt addicional per cada nota igual a 10 que hagi obtingut en les proves (màxim 3 punts).

Així una esportista que ha tret 10 a totes les proves té una qualificació final de 14 (10 de mitjana + 1 punt de progrés + 3 punts pels 10).

Dissenyeu la funció qualifica(nota1, nota2, nota3) que donades les 3 notes d’una esportista en les proves, ordenades de forma cronològica, retorna la qualificació calculada d’acord amb els criteris descrits.

Desa la funció al fitxer natacio.py. La funció ha de passar el següent doctest:

>>> qualifica(4, 5, 6)
0
>>> qualifica(7, 8, 7)
7
>>> qualifica(6, 6, 8)
7
>>> qualifica(10, 8, 6)
9
>>> qualifica(7, 10, 10)
12
>>> qualifica(10, 10, 10)
14

Nota

Podeu descarregar el fitxer amb tests natacio.txt

Solució

Disposeu d’una solució al fitxer natacio.py