Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1781 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

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody

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-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR