👤

Bonjour j'ai un exercice en python .J'aimerais bien de l'aide.
on veut calculer la moyenne obtenu par un élève au bac suivant ses notes et les coefficients
Les notes obtenues sont données par le dictionnaire suivant :
Notes={"maths" : 11 ," physique" : 8," SVT" : 9}
Les coefficients des matières sont données par le dictionnaire suivant :
Coefficient= {"maths" : 5 ," physique" : 7," SVT" : 6}
1) Ecrire le programme qui réalise ce calcul
2) Comment modifier le programme pour que l’utilisateur propose ses matières ainsi que ses coefficients .
merci de votre aide.


Répondre :

Réponse :

1)

Notes={"maths" : 11 ," physique" : 8," SVT" : 9}

Coefficient= {"maths" : 5 ," physique" : 7," SVT" : 6}

Addition = 0

nbrNotes = 0

for Matiere, Note in Notes.items():

   if Matiere in Coefficient:

       Addition = (Note * Coefficient[Matiere]) + Addition

       nbrNotes =  nbrNotes + Coefficient[Matiere]

   else:

       Addition = Note + Addition

       nbrNotes = nbrNotes + 1

print("La moyenne est: ",round(Addition/nbrNotes, 2))

2) On créé une boucle tant que l'utilisateur veut ajouté une matière, et à chaque ajout, on mets la note et coefficient dans les dictionnaires Notes et Coefficient avec pour index le nom de la matière

Notes={}

Coefficient={}

finajout = 0  

while(finajout == 0):

   tmpMatiere = input("Nom de la Matière: ")

   tmpNote = int(input("Note: "))

   tmpCoefficient = int(input("Coéfficient: "))

   Notes[tmpMatiere] = tmpNote

   Coefficient[tmpMatiere] = tmpCoefficient  

   reponse = input("Faut-il ajouté ou modifié une matière ? (Oui/Non): ")

   if reponse.lower() == "non":

       finajout = 1

Addition = 0

nbrNotes = 0

for Matiere, Note in Notes.items():

   if Matiere in Coefficient:

       Addition = (Note * Coefficient[Matiere]) + Addition

       nbrNotes =  nbrNotes + Coefficient[Matiere]

   else:

       Addition = Note + Addition

       nbrNotes = nbrNotes + 1

print("La moyenne est: ",round(Addition/nbrNotes, 2))

Explications :

J'ai tout mis sur les deux images avec une démonstration.

Enfin, je précise quand même que dans la boucle, j'ai mis "ajouté ou modifié" car dans la situation ou l'on écrira le même nom de matière, mais avec une note et un coefficient différent, on sera dans un cas d'overwrite, la note et le coefficient seront remplacés par celui que tu auras redéfinis.

Voir l'image SMARTMIND
Voir l'image SMARTMIND
Merci d'avoir visité notre site Web, qui traite d'environ Informatique. Nous espérons que les informations partagées vous ont été utiles. N'hésitez pas à nous contacter pour toute question ou demande d'assistance. À bientôt, et pensez à ajouter ce site à vos favoris !


Viz Asking: D'autres questions