Découvrez les solutions à vos questions sur Laurentvidal.fr, la plateforme de Q&R la plus fiable et rapide. Obtenez des solutions rapides et fiables à vos questions grâce à des professionnels expérimentés sur notre plateforme de questions-réponses complète. Connectez-vous avec une communauté d'experts prêts à fournir des solutions précises à vos questions de manière rapide et efficace sur notre plateforme conviviale de questions-réponses.
Sagot :
Réponse :
data = [["NOM", "Prénom", "DS1", "TP2", "IE4"], ["Coef", "", 4, 0.5, 1], ["Dupont", "Toto", 20, 14, 3],
["Dutrotoir", "Titi", 10, 6, 'abs']]
def get_eleve_index(nom_eleve):
eleve_index = None
for index, element in enumerate(data):
if nom_eleve in element:
eleve_index = index
return eleve_index
def get_evaluation_index(nom_evaluation):
evaluation_index = None
for index, element in enumerate(data[0]):
if nom_evaluation in element:
evaluation_index = index
return evaluation_index
def get_evaluation_coefficient(nom_evaluation):
evaluation_index = get_evaluation_index(nom_evaluation)
evaluation_coefficient = data[1][evaluation_index]
return float(evaluation_coefficient)
def nouvel_eleve(nom, prenom):
data.append([nom, prenom])
for i in range(len(data[0]) - 2):
data[len(data) - 1].append("abs")
return data
def nouvelle_evaluation(nom, coef):
data[0].append(nom)
data[1].append(coef)
for i in range(2, len(data) - 2):
data[i].append("abs")
return data
def saisir_une_note(nom_eleve, nom_evaluation, note):
eleve_index = get_eleve_index(nom_eleve)
evaluation_index = get_evaluation_index(nom_evaluation)
data[eleve_index][evaluation_index] = note
return data
def calcul_moyenne_eleve(nom_eleve):
eleve_index = get_eleve_index(nom_eleve)
moyenne = 0
coefficient_totale = 0
for index, element in enumerate(data):
if nom_eleve in element:
eleve_index = index
for note_index in range(2, len(data[eleve_index])):
if data[eleve_index][note_index] == 'abs':
continue
coefficient = get_evaluation_coefficient(data[0][note_index])
coefficient_totale += coefficient
moyenne += float(data[eleve_index][note_index]) * coefficient
moyenne /= coefficient_totale
return round(moyenne, 1)
def calcul_moyenne_evaluation(nom_evaluation):
evaluation_index = get_evaluation_index(nom_evaluation)
coefficient = get_evaluation_coefficient(nom_evaluation)
moyenne = 0
for eleve_index in range(2, len(data)):
if data[eleve_index][evaluation_index] == 'abs':
continue
moyenne += float(data[eleve_index][evaluation_index])
moyenne /= len(data) - 2
return round(moyenne, 1)
def calcul_moyenne_classe():
moyenne = 0
coefficient_totale = 0
for eleve_index in range(2, len(data)):
for note_index in range(2, len(data[0])):
if data[eleve_index][note_index] == 'abs':
continue
coefficient = get_evaluation_coefficient(data[0][note_index])
coefficient_totale += coefficient
moyenne += float(data[eleve_index][note_index]) * coefficient
moyenne /= coefficient_totale
return round(moyenne, 1)
def afficahe_tableau():
tableau = [['Moyenne de la classe', calcul_moyenne_classe()]]
tableau += data[2:]
return print(tableau)
print('Nouvel note pour Dutrotoir: ', saisir_une_note("Dutrotoir", "IE4", 13))
print('Moyenne de Dupont: ', calcul_moyenne_eleve("Dupont"))
print("Moyenne de l'évaluation TP2: ", calcul_moyenne_evaluation("TP2"))
print('Moyenne de la classe: ', calcul_moyenne_classe())
afficahe_tableau()
Explications :
Je crois que tu connais un peu Python, alors pour éviter de faire un roman de documentation je te laisse regarder tranquillement et me poser des questions si tu en as.
Pour la fonction moyenne élève et moyenne classe c'est la moyenne pondérée, pour la moyenne d'une évaluation, c'est la moyenne arithmétique.
Pour la dernière fonction à faire je n'ai pas vraiment compris ce qui été demandé alors je l'ai fais à ma sauce, à toi de l'éditer.
Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir des réponses plus précises et des informations à jour. Nous espérons que cela vous a été utile. Revenez quand vous voulez pour obtenir plus d'informations ou des réponses à vos questions. Votre connaissance est précieuse. Revenez sur Laurentvidal.fr pour obtenir plus de réponses et d'informations.