From 66859c53baa965839e6056cc47ac5808c2832853 Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Wed, 19 May 2021 11:48:00 +0200 Subject: [PATCH] Ajout bonus "sport": bonus_direct --- bonus_sport.py | 78 ++++++++++++++++++-------------------------------- 1 file changed, 28 insertions(+), 50 deletions(-) diff --git a/bonus_sport.py b/bonus_sport.py index 3a4222e6..80cf7a71 100644 --- a/bonus_sport.py +++ b/bonus_sport.py @@ -45,9 +45,16 @@ def bonus_iutv(notes_sport, coefs, infos=None): return bonus -def bonus_iut_stdenis(notes_sport, coefs, infos=None): - """Semblable à bonus_iutv mais sans coefficients et total limité à 0.5 points. +def bonus_direct(notes_sport, coefs, infos=None): + """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 bonus = points * 0.05 # ou / 20 return min(bonus, 0.5) # bonus limité à 1/2 point @@ -62,7 +69,7 @@ def bonus_colmar(notes_sport, coefs, infos=None): sur 20 obtenus dans chacune des matières optionnelles sont cumulés dans la limite de 10 points. 5% de ces points cumulés s'ajoutent à la moyenne générale du semestre déjà obtenue par l'étudiant. - + """ # les coefs sont ignorés points = sum([x - 10 for x in notes_sport if x > 10]) @@ -73,7 +80,7 @@ def bonus_colmar(notes_sport, coefs, infos=None): def bonus_iutva(notes_sport, coefs, infos=None): """Calcul bonus modules optionels (sport, culture), règle IUT Ville d'Avray - + Les étudiants de l'IUT peuvent suivre des enseignements optionnels de l'Université Paris 10 (C2I) non rattachés à une unité d'enseignement. Si la note est >= 10 et < 12, bonus de 0.1 point @@ -93,42 +100,13 @@ def bonus_iutva(notes_sport, coefs, infos=None): 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): """Calcul bonus sport IUT Grenoble sur la moyenne générale (version 2017) - - La note de sport de nos étudiants va de 0 à 5 points. + + 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 : la moyenne générale sera augmentée de 2%. - + Calcul ici du bonus sur moyenne générale """ # les coefs sont ignorés @@ -162,14 +140,14 @@ def bonus_lille(notes_sport, coefs, infos=None): def bonus_iutlh(notes_sport, coefs, infos=None): """Calcul bonus sport IUT du Havre sur moyenne générale et UE - La note de sport de nos étudiants va de 0 à 20 points. - m2=m1*(1+0.005*((10-N1)+(10-N2)) - m2 : Nouvelle moyenne de l'unité d'enseignement si note de sport et/ou de langue supérieure à 10 - m1 : moyenne de l'unité d'enseignement avant bonification - N1 : note de sport si supérieure à 10 - N2 : note de seconde langue si supérieure à 10 - Par exemple : sport 15/20 et langue 12/20 : chaque UE sera multipliée par 1+0.005*7, ainsi que la moyenne générale. - Calcul ici de la moyenne générale et moyennes d'UE non capitalisées. + La note de sport de nos étudiants va de 0 à 20 points. + m2=m1*(1+0.005*((10-N1)+(10-N2)) + m2 : Nouvelle moyenne de l'unité d'enseignement si note de sport et/ou de langue supérieure à 10 + m1 : moyenne de l'unité d'enseignement avant bonification + N1 : note de sport si supérieure à 10 + N2 : note de seconde langue si supérieure à 10 + Par exemple : sport 15/20 et langue 12/20 : chaque UE sera multipliée par 1+0.005*7, ainsi que la moyenne générale. + Calcul ici de la moyenne générale et moyennes d'UE non capitalisées. """ # les coefs sont ignorés points = sum([x - 10 for x in notes_sport if x > 10]) @@ -205,8 +183,8 @@ def bonus_tours(notes_sport, coefs, infos=None): def bonus_iutr(notes_sport, coefs, infos=None): """Calcul du bonus , regle de l'IUT de Roanne (contribuée par Raphael C., nov 2012) - Le bonus est compris entre 0 et 0.35 point. - cette procédure modifie la moyenne de chaque UE capitalisable. + Le bonus est compris entre 0 et 0.35 point. + cette procédure modifie la moyenne de chaque UE capitalisable. """ # modifie les moyennes de toutes les UE: @@ -260,7 +238,7 @@ def bonus_saint_etienne(notes_sport, coefs, infos=None): """IUT de Saint-Etienne (jan 2014) Nous avons différents types de bonification bonfication Sport / Associations - coopératives de département / Bureau Des Étudiants + coopératives de département / Bureau Des Étudiants / engagement citoyen / Langues optionnelles Nous ajoutons sur le bulletin une bonification qui varie entre 0,1 et 0,3 ou 0,35 pour chaque item la bonification totale ne doit pas excéder les 0,6 point. @@ -278,9 +256,9 @@ def bonus_saint_etienne(notes_sport, coefs, infos=None): def bonus_iutTarbes(notes_sport, coefs, infos=None): - """Calcul bonus modules optionnels + """Calcul bonus modules optionnels (sport, Langues, action sociale, Théâtre), règle IUT Tarbes - Les coefficients ne sont pas pris en compte, + Les coefficients ne sont pas pris en compte, seule la meilleure note est prise en compte le 1/30ème des points au-dessus de 10 sur 20 est retenu et s'ajoute à la moyenne générale du semestre déjà obtenue par l'étudiant. @@ -408,7 +386,7 @@ def bonus_iutbethune(notes_sport, coefs, infos=None): def bonus_demo(notes_sport, coefs, infos=None): """Fausse fonction "bonus" pour afficher les informations disponibles et aider les développeurs. - Les informations sont placées dans le fichier /tmp/scodoc_bonus.log + Les informations sont placées dans le fichier /tmp/scodoc_bonus.log qui est ECRASE à chaque appel. *** Ne pas utiliser en production !!! *** """