3. Valoració jugador [3]

Ens inventem una manera de calcular una valoració d’un jugador de bàsquet. Aquesta valoració assigna un nombre enter a cada jugador en funció de les seves actuacions la temporada passada.

La valoració tindrà en compte el seu rendiment en el seu equip i, a més, si va jugar en la selecció del seu estat.

El càlcul d’aquesta valoració es fa a partir de les següents dades: punts marcats amb el seu equip, rebots agafats, pilotes perdudes i posició final del seu equip en la lliga. A més es tindrà en compte si el jugador ha estat seleccionat amb la selecció del seu estat o no.

El càlcul de la valoració es fa tenint en compte els següents passos:

  1. Inicialment la valoració inicial és igual zero.

  2. Si el nombre de pilotes perdudes és més gran o igual que el nombre de rebots agafats es tindrà en compte el nombre de punts marcats segons el següent criteri. Si el nombre de punts marcats és com a mínim el doble de les pilotes perdudes, la valoració serà igual al nombre de rebots agafats. A més si el nombre de punts és menor que el doble de les pilotes perdudes, la valoració serà la part entera de la meitat del nombre de rebots.

  3. Si el nombre de pilotes perdudes és menor que el nombre de rebots agafats, la valoració és igual al doble del nombre de rebots agafats.

  4. Si l’equip del jugador va quedar entre els 3 primers, se li afegiran 20 punts a la valoració. Si va quedar entre els deu primers i a partir del lloc 4rt, afegirem 10 punts extra.

  5. Si el jugador ha jugat amb la selecció, se li afegiran 10 punts.

Implementa una funció anomenada puntuacio que a partir de 4 enters (punts marcats, rebots agafats, pilotes perdudes i la posició en què va quedar el seu equip) i un booleà (que val True si el jugador va jugar amb la selecció i False en cas contrari), calcula els punts que li corresponen al jugador segons el qual ha estat definit.

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

>>> p=puntuacio(34, 12, 20, 2, True)
>>> p
36
>>> p=puntuacio(34, 12, 20, 6, True)
>>> p
26
>>> p=puntuacio(34, 12, 20, 16, True)
>>> p
16
>>> p=puntuacio(34, 12, 20, 16, False)
>>> p
6
>>> p=puntuacio(34, 32, 20, 16, False)
>>> p
64
>>> p=puntuacio(34, 32, 20, 16, True)
>>> p
74
>>> p=puntuacio(34, 32, 20, 6, True)
>>> p
84

Nota

Pots descarregar el fitxer amb tests test-valoracio.txt. Tens una solució a valoracio.py.