How is Everybody Doing error?


#1

Unsure when I enter the following code I get an answer out (which I think is correct) but I also get an error. code is:

def average(numbers):
    total= sum(numbers)
    total=float(total)
    total=total/len(numbers)
    return total
    
def get_average(student):
    homework=average(student["homework"])
    quizzes=average(student["quizzes"])
    tests=average(student["tests"])
    score=0.1*homework+0.3*quizzes+0.6*tests
    return score
    
def get_letter_grade(score):
    if score >= 90:
        return "A"
    elif score >= 80:
        return "B"
    elif score >= 70:
        return "C"
    elif score >= 60:
        return "D"
    else:
        return "F"

print get_letter_grade(get_average(lloyd))
    
def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
    return average(results)
  
print get_class_average([lloyd, alice, tyler])

print get_letter_grade(get_class_average([lloyd, alice, tyler]))

Error is:

Oops, try again. One of the following is missing or broken when we tried to use it: alice, lloyd, tyler, students, get_class_average, get_letter_grade


#2

where are the dictionary's lloyd, alice and tyler? and where is the list you created in put it together?


#3

To be fair: my list from Put It Together did not get carried over to this point (for whatever reason), and Part of the Whole says "You can expect students to be a list containing your three students," which doesn't specify that the list should be created (and the milestone can indeed be passed without adding it again or even having the list present). Maybe that can be improved somewhat?

But @stetim94 is definitely right here: add the list and see what happens!


#5

Same problem is here @saucystrawssy


#6

please make a new topic with your full code + error message so someone can help you


#7

lloyd = {
"name": "Lloyd",
"homework": [90.0, 97.0, 75.0, 92.0],
"quizzes": [88.0, 40.0, 94.0],
"tests": [75.0, 90.0]
}
alice = {
"name": "Alice",
"homework": [100.0, 92.0, 98.0, 100.0],
"quizzes": [82.0, 83.0, 91.0],
"tests": [89.0, 97.0]
}
tyler = {
"name": "Tyler",
"homework": [0.0, 87.0, 75.0, 22.0],
"quizzes": [0.0, 75.0, 78.0],
"tests": [100.0, 100.0]
}

Add your function below!

def average(numbers):
total=sum(numbers)
total=float(total)
total=total/len(numbers)
return total

student = ["lloyd","alice","tyler"]

def get_average(student):
homework = average(student["homework"])
quizzes = average(student["quizzes"])
tests = average(student["tests"])
return (homework*0.1)+(quizzes*0.3)+(tests*0.6)

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

print get_letter_grade(get_average(lloyd))

def get_class_average(students):
results=[]
for student in students:
results.append(get_average(student))
return results

list=[lloyd,alice,tyler]
print get_class_average(list)
print get_letter_grade(get_class_average(list))


Error :

Oops, try again.
One of the following is missing or broken when we tried to use it:
alice, lloyd, tyler, students, get_class_average, get_letter_grade


#9

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.