Lenylvt commited on
Commit
27ccac5
·
verified ·
1 Parent(s): d240531

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -3
app.py CHANGED
@@ -29,10 +29,25 @@ def moyenne_a_maitrise(moyenne):
29
  def arrondir_maitrise(moyenne):
30
  niveaux_inverses = niveaux_maitrise_inverses()
31
  niveaux = sorted(niveaux_inverses.keys())
 
 
 
 
 
 
 
 
32
  for i in range(len(niveaux) - 1):
33
- if moyenne > niveaux[i] and moyenne <= niveaux[i + 1]: # Utilise ">" et "<=" pour arrondir au supérieur
34
- return niveaux_inverses[niveaux[i + 1]]
35
- return niveaux_inverses[niveaux[-1]]
 
 
 
 
 
 
 
36
 
37
  # Gestion de session pour maintenir l'état
38
  if 'client' not in st.session_state:
 
29
  def arrondir_maitrise(moyenne):
30
  niveaux_inverses = niveaux_maitrise_inverses()
31
  niveaux = sorted(niveaux_inverses.keys())
32
+
33
+ if not niveaux: # Vérifie si la liste des niveaux est vide
34
+ return None
35
+
36
+ # Si la moyenne est inférieure au premier seuil, retourner le niveau associé à ce seuil.
37
+ if moyenne < niveaux[0]:
38
+ return niveaux_inverses[niveaux[0]]
39
+
40
  for i in range(len(niveaux) - 1):
41
+ if moyenne >= niveaux[i] and moyenne < niveaux[i + 1]:
42
+ # Calculez la différence avec le seuil inférieur et supérieur
43
+ diff_inferieur = moyenne - niveaux[i]
44
+ diff_superieur = niveaux[i + 1] - moyenne
45
+
46
+ # Choisissez le seuil le plus proche
47
+ if diff_inferieur <= diff_superieur:
48
+ return niveaux_inverses[niveaux[i]]
49
+ else:
50
+ return niveaux_inverses[niveaux[i + 1]]
51
 
52
  # Gestion de session pour maintenir l'état
53
  if 'client' not in st.session_state: