Ajout bonus "sport": bonus_direct

This commit is contained in:
Emmanuel Viennet 2021-05-19 11:48:00 +02:00
parent e943e7f283
commit 66859c53ba

View File

@ -45,9 +45,16 @@ def bonus_iutv(notes_sport, coefs, infos=None):
return bonus return bonus
def bonus_iut_stdenis(notes_sport, coefs, infos=None): def bonus_direct(notes_sport, coefs, infos=None):
"""Semblable à bonus_iutv mais sans coefficients et total limité à 0.5 points. """Un bonus direct et sans chichis: les points sont directement ajoutés à la moyenne générale.
Les coefficients sont ignorés: tous les points de bonus sont sommés.
(rappel: la note est ramenée sur 20 avant application).
""" """
return sum(notes_sport)
def bonus_iut_stdenis(notes_sport, coefs, infos=None):
"""Semblable à bonus_iutv mais sans coefficients et total limité à 0.5 points."""
points = sum([x - 10 for x in notes_sport if x > 10]) # points au dessus de 10 points = sum([x - 10 for x in notes_sport if x > 10]) # points au dessus de 10
bonus = points * 0.05 # ou / 20 bonus = points * 0.05 # ou / 20
return min(bonus, 0.5) # bonus limité à 1/2 point return min(bonus, 0.5) # bonus limité à 1/2 point
@ -93,35 +100,6 @@ def bonus_iutva(notes_sport, coefs, infos=None):
return 0 return 0
# XXX Inutilisé (mai 2020) ? à confirmer avant suppression XXX
# def bonus_iut1grenoble_v0(notes_sport, coefs, infos=None):
# """Calcul bonus sport IUT Grenoble sur la moyenne générale
#
# La note de sport de nos étudiants va de 0 à 5 points.
# Chaque point correspond à un % qui augmente la moyenne de chaque UE et la moyenne générale.
# Par exemple : note de sport 2/5 : chaque UE sera augmentée de 2%, ainsi que la moyenne générale.
#
# Calcul ici du bonus sur moyenne générale et moyennes d'UE non capitalisées.
# """
# # les coefs sont ignorés
# # notes de 0 à 5
# points = sum([x for x in notes_sport])
# factor = (points / 4.0) / 100.0
# bonus = infos["moy"] * factor
# # Modifie les moyennes de toutes les UE:
# for ue_id in infos["moy_ues"]:
# ue_status = infos["moy_ues"][ue_id]
# if ue_status["sum_coefs"] > 0:
# # modifie moyenne UE ds semestre courant
# ue_status["cur_moy_ue"] = ue_status["cur_moy_ue"] * (1.0 + factor)
# if not ue_status["is_capitalized"]:
# # si non capitalisee, modifie moyenne prise en compte
# ue_status["moy"] = ue_status["cur_moy_ue"]
#
# # open('/tmp/log','a').write( pprint.pformat(ue_status) + '\n\n' )
# return bonus
def bonus_iut1grenoble_2017(notes_sport, coefs, infos=None): def bonus_iut1grenoble_2017(notes_sport, coefs, infos=None):
"""Calcul bonus sport IUT Grenoble sur la moyenne générale (version 2017) """Calcul bonus sport IUT Grenoble sur la moyenne générale (version 2017)