forked from ScoDoc/DocScoDoc
Bonus La Rochelle (nouvelle version)
This commit is contained in:
parent
3f15ff099d
commit
b140e891f1
@ -771,18 +771,59 @@ class BonusLaRochelle(BonusSportAdditif):
|
||||
"""Calcul bonus modules optionnels (sport, culture), règle IUT de La Rochelle.
|
||||
|
||||
<ul>
|
||||
<li>Si la note de sport est comprise entre 0 et 10 : pas d'ajout de point.</li>
|
||||
<li>Si la note de sport est comprise entre 10 et 20 : ajout de 1% de cette
|
||||
note sur la moyenne générale du semestre (ou sur les UE en BUT).</li>
|
||||
<li>Si la note de sport est comprise entre 0 et 10 : pas d’ajout de point.</li>
|
||||
<li>Si la note de sport est comprise entre 10 et 20 :
|
||||
<ul>
|
||||
<li>Pour le BUT, application pour chaque UE du semestre :
|
||||
<ul>
|
||||
<li>pour une note entre 18 et 20 => + 0,10 points</li>
|
||||
<li>pour une note entre 16 et 17,99 => + 0,08 points</li>
|
||||
<li>pour une note entre 14 et 15,99 => + 0,06 points</li>
|
||||
<li>pour une note entre 12 et 13,99 => + 0,04 points</li>
|
||||
<li>pour une note entre 10 et 11,99 => + 0,02 points</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Pour les DUT/LP :
|
||||
ajout de 1% de la note sur la moyenne générale du semestre
|
||||
</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
"""
|
||||
|
||||
name = "bonus_iutlr"
|
||||
displayed_name = "IUT de La Rochelle"
|
||||
|
||||
seuil_moy_gen = 10.0 # si bonus > 10,
|
||||
seuil_comptage = 0.0 # tous les points sont comptés
|
||||
proportion_point = 0.01 # 1%
|
||||
|
||||
def compute_bonus(self, sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan):
|
||||
"""calcul du bonus"""
|
||||
# La date du semestre ?
|
||||
if self.formsemestre.formation.is_apc():
|
||||
if 0 in sem_modimpl_moys_inscrits.shape:
|
||||
# pas d'étudiants ou pas d'UE ou pas de module...
|
||||
return
|
||||
# Calcule moyenne pondérée des notes de sport:
|
||||
with np.errstate(invalid="ignore"): # ignore les 0/0 (-> NaN)
|
||||
bonus_moy_arr = np.sum(
|
||||
sem_modimpl_moys_inscrits * modimpl_coefs_etuds_no_nan, axis=1
|
||||
) / np.sum(modimpl_coefs_etuds_no_nan, axis=1)
|
||||
np.nan_to_num(bonus_moy_arr, nan=0.0, copy=False)
|
||||
bonus_moy_arr[bonus_moy_arr < 10.0] = 0.0
|
||||
bonus_moy_arr[bonus_moy_arr >= 18.0] = 0.10
|
||||
bonus_moy_arr[bonus_moy_arr >= 16.0] = 0.08
|
||||
bonus_moy_arr[bonus_moy_arr >= 14.0] = 0.06
|
||||
bonus_moy_arr[bonus_moy_arr >= 12.0] = 0.04
|
||||
bonus_moy_arr[bonus_moy_arr >= 10.0] = 0.02
|
||||
self.bonus_additif(bonus_moy_arr)
|
||||
else:
|
||||
# DUT et LP:
|
||||
return super().compute_bonus(
|
||||
sem_modimpl_moys_inscrits, modimpl_coefs_etuds_no_nan
|
||||
)
|
||||
|
||||
|
||||
class BonusLeHavre(BonusSportAdditif):
|
||||
"""Bonus sport IUT du Havre sur les moyennes d'UE
|
||||
|
Loading…
Reference in New Issue
Block a user