Comment tout le monde s'en sort?


#1



Je n'arrive pas à passer cette étape entre le forum français et Anglais j'ai casi tout essayé.Merci de l'aide.

https://www.codecademy.com/fr/courses/python-beginner-fr-FR-wdjot/1/5?curriculum_id=5370f030fed2a866a2000001

MESSAGE ERREUR CONSOLE
Traceback (most recent call last):
File "python", line 52, in
File "python", line 51, in calcule_classe_moyenne
File "python", line 22, in moyenne
TypeError: unsupported operand type(s) for +: 'int' and 'tuple'
MESSAGE ERREUR
Oups, merci de réessayer. Une des variables suivantes est manquante ou endommagée quand on essaye de l'utiliser : alice, lloyd, tyler, etudiants, calcule_classe_moyenne, ecrire_lettre_note
"

lloyd = {
     "name" : "Lloyd" ,
     "devoirs" : [ 90,0 , 97,0 , 75,0 , 92,0 ],
     "quiz" : [ 88,0 , 40,0 , 94,0 ],
     "tests" : [ 75,0 , 90,0 ]
}
alice = {
     "name" : "Alice" ,
     "devoirs" : [ 100,0 , 92,0 , 98,0 , 100,0 ],
     "quiz" : [ 82,0 , 83,0 , 91,0 ],
     "tests" : [ 89,0 , 97,0 ]
}
tyler = {
     "name" : "Tyler" ,
     "devoirs" : [ 0.0 , 87.0 , 75.0 , 22.0 ],
     "quiz" : [ 0.0 , 75.0 , 78.0 ],
     "tests" : [ 100,0 , 100,0 ]
}

# Ajoutez votre fonction ci - dessous! 
def moyenne (lst):
    ajouter = sum (lst)
    longueur = len(lst)
    avg = float(ajouter) /float(longueur)
    return avg

def  calcule_moyenne (etudiant):
    hw_avg = moyenne (etudiant [ "devoirs" ])
    q_avg = moyenne (etudiant [ "quiz" ])
    t_avg = moyenne (etudiant [ "tests" ])
    w_avg = hw_avg *  0,1  + q_avg *  0,3  + t_avg *  0,6 
    return w_avg

def ecrire_lettre_note(score):
    if Score >=  90 :
        return  "A" 
    elif Score >=  80 :
        return  "B" 
    elif Score >=  70 :
        return  "C" 
    elif Score >=60 :
        return  "D" 
    elif Score <= 60 : 
        return  "F"

etudiants = [lloyd, alice, tyler]
def  calcule_classe_moyenne (etudiants):
    resultats = []
    for etudiant in etudiants:
        resultats.append (calcule_moyenne(etudiant))
    return moyenne(resultats)
print calcule_classe_moyenne(etudiants)
print ecrire_lettre_note(calcule_classe_moyenne(etudiants))


#2

Remplacer les virgules pour les périodes.
0,1 -> 0.1
Parce que, 0,1 n'est pas float.

S dans le mot, Score, doit être minuscule. Score -> score.


Désolé pour mon pauvre français. J'espère que vous pouvez le comprendre :sweat:


#3

Merci beaucoup ton français est surement meilleur que mon anglais.
Ces fautes sont à force de recopier du code un peu partout pour trouver la solution .
J'ai toujours une erreur:
"Oups, merci de réessayer. Une des variables suivantes est manquante ou endommagée quand on essaye de l'utiliser : alice, lloyd, tyler, etudiants, calcule_classe_moyenne, ecrire_lettre_note"

...https://www.codecademy.com/fr/courses/python-beginner-fr-FR-wdjot/1/5?curriculum_id=5370f030fed2a866a2000001
...
lloyd = {
"name" : "Lloyd" ,
"devoirs" : [ 90.0 , 97.0 , 75.0 , 92.0 ],
"quiz" : [ 88.0 , 40.0 , 94.0 ],
"tests" : [ 75.0 , 90.0 ]
}
alice = {
"name" : "Alice" ,
"devoirs" : [ 100.0 , 92.0 , 98.0 , 100.0 ],
"quiz" : [ 82.0 , 83.0 , 91.0 ],
"tests" : [ 89.0 , 97.0 ]
}
tyler = {
"name" : "Tyler" ,
"devoirs" : [ 0.0 , 87.0 , 75.0 , 22.0 ],
"quiz" : [ 0.0 , 75.0 , 78.0 ],
"tests" : [ 100.0 , 100.0 ]
}

Ajoutez votre fonction ci - dessous!

def moyenne (lst):
ajouter = sum (lst)
longueur = len(lst)
avg = float(ajouter) /float(longueur)
return avg

def calcule_moyenne (etudiant):
hw_avg = moyenne (etudiant [ "devoirs" ])
q_avg = moyenne (etudiant [ "quiz" ])
t_avg = moyenne (etudiant [ "tests" ])
w_avg = hw_avg * 0.1 + q_avg * 0.3 + t_avg * 0.6
return w_avg

def ecrire_lettre_note(score):
if score >= 90 :
return "A"
elif score >= 80 :
return "B"
elif score >= 70 :
return "C"
elif score >=60 :
return "D"
elif score <= 60 :
return "F"

etudiants = [lloyd, alice, tyler]
def calcule_classe_moyenne (etudiants):
resultats = []
for etudiant in etudiants:
resultats.append (calcule_moyenne(etudiant))
return moyenne(resultats)
print calcule_classe_moyenne(etudiants)
print ecrire_lettre_note(calcule_classe_moyenne(etudiants))
...


#4

hmm.....Je suppose que vous avez une indentation appropriée comme celle que vous avez donnée ci-dessus. Votre code semble correct. Peut-être actualiser la page?


Merci beaucoup, je suis mieux de lire le français puis je l'écris. :sweat_smile:


#5

Exact merci je finissais par ne plus y croire encore merci!


#6

De rien! :slight_smile:


#7

Bonjour,

je confirme le fait de rafraîchir la page et de couper et coller le code, cela à régler le problème.


#8

Bonjour,

Veuillez poster votre code ici et nous pouvons vous aider.