Bonjour,
Ci-dessous, je poste ma solution.
J'ai essayer de faire un programme maintenable et clair. Pour cela, j'ai séparer la partie DATA du programme principal de telle sorte que l'on puisse ajouter, modifier ou supprimer une matière sans toucher une seule ligne de code.
Le programme fonctionne mais ai-je bien fais ?
merci
print("Bienvenue dans le calculateur de moyenne scolaire pour le bac général !")
print()
print("Voici les coefficients actuels : ")
# Partie DATA
matieres = [
[
"Spécialité",
8
],
[
"Langue vivante principale",
6
],
[
"Langue vivante secondaire",
6
],
[
"Histoire - géographie",
6
],
[
"Enseigment scientifique",
6
],
[
"EPS",
6
],
[
"EMC",
2
],
[
"Français écrit",
5
],
[
"Français oral",
5
],
[
"Philosophie",
8
],
[
"Grand oral",
10
],
[
"Spécialité 1",
16
],
[
"Spécialité 2",
16
]
]
# Déclaration des variables
somme_coeff = 0
notes = []
moyenne = []
resultat = 0
moyenne_generale = 0
# Afficher le "menu"
for i in matieres:
print(f"\t-> {i[1]} - {i[0]}")
print()
# PROGRAMME PRINCIPAL
for i in matieres:
somme_coeff = somme_coeff + i[1]
question = int(input(f"Quelle est votre moyenne pour : {i[0]} ? "))
print()
notes.append(question)
for j in notes:
resultat = j * i[1] # i[1] sont les coéfficients de la liste "matieres"
moyenne.append(resultat)
moyenne_generale = sum(moyenne) / somme_coeff
print(f"Votre moyenne cette année est de {moyenne_generale}")