Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2510 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Aide sur un code Python

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Aide sur un code Python

n°2277087
lamarmotte​21
\"42... Le code c\
Posté le 06-03-2016 à 17:11:45  profilanswer
 

[b][/b][#4600B8][/#4600B8] Hello / Bonjour :)
 
N'ayant pas trouver de réponse sur le forum du site je tente le tout pour le tout en postant ici.
 
C'est un exercice de codeacademy...  
 
Voici l'énoncé :
 
 Instructions
 
    Définissez une fonction appelée calcule_classe_moyenne qui a un argument etudiants. Vous pouvez considérer etudiants comme une liste contenant trois étudiants.
    D'abord, créez une liste vide appelée resultats.
    Pour chaque élément etudiant dans la liste classe, calculez calcule_moyenne(etudiant) puis appelez resultats.append() avec ce résultat.
    Enfin, retournez le résultat de l'appel de moyenne() avec resultats.
 
 
Voici mon code !!
 
lloyd = {
"noms": "Lloyd",
"devoirs": [90.0, 97.0, 75.0, 92.0],
"quiz": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"noms": "Alice",
"devoirs": [100.0, 92.0, 98.0, 100.0],
"quiz": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"noms": "Tyler",
"devoirs": [0.0, 87.0, 75.0, 22.0],
"quiz": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}
 
def moyenne(nombres):
somme = sum(nombres)
somme = float(somme)
taille = len(nombres)
taille = float(taille)
total = somme/taille
return total
 
def average(nombres):
total = sum(nombres)
total = float(total)
average = total / len(nombres)
return average
 
def calcule_moyenne(etudiant):
devoirs = average(etudiant['devoirs'])
quiz = average(etudiant['quiz'])
tests = average(etudiant['tests'])
note = 0.1 * devoirs + 0.3 * quiz + 0.6 * tests
return note
 
def ecrire_lettre_note(note):
if note >= 90:
return "A"
elif note >= 80:
return "B"
elif note >= 70:
return "C"
elif note >= 60:
return "D"
else:
return "F"
print ecrire_lettre_note(calcule_moyenne(lloyd))
 
def calcule_classe_moyenne(etudiants):
resultats = []
for etudiant in etudiants:
resultats.append(calcule_classe_moyenne(etudiant))
return moyenne(resultats)
 
print calcule_classe_moyenne(resultats)
print ecrire_lettre_note(note)
 
Et voici la réponse de la console :
 
B
Traceback (most recent call last):
File "python", line 61, in
NameError: name 'resultats' is not defined
 
Merci de votre aide :)


---------------
~La_Marmotte ~
mood
Publicité
Posté le 06-03-2016 à 17:11:45  profilanswer
 

n°2277088
rat de com​bat
attention rongeur méchant!
Posté le 06-03-2016 à 19:16:43  profilanswer
 

Déjà faudrait mettre des balises pour préserver l'indentation essentielle en Python. :o

n°2277144
masklinn
í dag viðrar vel til loftárása
Posté le 07-03-2016 à 22:10:13  profilanswer
 

Bah suffit de lire le message d'erreur [:petrus75]

 

Tu files une variable "resultats" à ta fonction calcule_classe_moyenne à la ligne 61, sauf que ce resultats est jamais défini. Il y a un autre resultats qui est défini dans calcule_classe_moyenne, mais il n'a aucun rapport.

 

Un problème similaire existe avec note d'ailleurs.


Message édité par masklinn le 07-03-2016 à 22:11:25

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Aide sur un code Python

 

Sujets relatifs
Aide SQL très simple[Python] Problème de frame
[PHP] Besoin d'aide pour résoudre un message d'erreurAide, comment réaliser mon projet.
besoin d'aideAide compréhension de logs apache
aide pour la decopmposition d'une image en plusieurs matrices?Sudoku Solver -- Python
[AIDE] Choix site tourné commercialTraiter un tableau en .txt sur python
Plus de sujets relatifs à : Aide sur un code Python


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)