Spaces:
Sleeping
Sleeping
File size: 1,840 Bytes
aadd23b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
# main.py
from data import coefficients_C, coefficients_D, filieres, students
from utils import get_student_by_id, calculer_moyennes, calculer_scores_selection, selectionner_meilleures_matieres, afficher_meilleures_matieres, compter_occurrences_meilleures_matieres, selectionner_top_matieres, proposer_filieres
# Définir les coefficients et les biais
coefficients = coefficients_C if students[0].serie == "C" else coefficients_D
biais = {
"Mathématiques": 5,
"Physique-Chimie": 4,
"Informatique": 3,
"Français": 2,
"Philosophie": 1,
"Anglais": 2
}
# Exemple d'utilisation
student_id = "E001"
student = get_student_by_id(students, student_id)
# Calculer les moyennes des notes pour chaque matière (hors Baccalauréat)
moyennes = calculer_moyennes(student.resultats)
# Calculer les scores de sélection pour chaque matière
scores = calculer_scores_selection(moyennes, coefficients, biais)
# Sélectionner les trois meilleures matières pour chaque classe
meilleures_matieres = selectionner_meilleures_matieres(scores)
# Afficher les trois meilleures matières pour chaque classe et le Baccalauréat
afficher_meilleures_matieres(meilleures_matieres, student.resultats["Baccalauréat"])
# Sélectionner les quatre meilleures matières
occurrences = compter_occurrences_meilleures_matieres(meilleures_matieres)
top_matieres = selectionner_top_matieres(occurrences, biais)
# Afficher les quatre meilleures matières
print("Les quatre meilleures matières durant tout le parcours :")
for matiere in top_matieres:
print(f"- {matiere}")
# Proposer des filières en fonction des meilleures matières
propositions = proposer_filieres(top_matieres, filieres, student.serie)
# Afficher les propositions de filières
print("Propositions de filières :")
for filiere in propositions:
filiere.afficher_info() |