I stuck at "How is everybody doing?"


#1




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
    
def get_average(student):
    homework = average(student["homework"])
    quizzes = average(student["quizzes"])
    tests = average(student["tests"])

    return 0.1*homework + 0.3*quizzes + 0.6*tests

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 i in students:
        results.append(get_average(i))
    class_average = average(results)
    return class_average

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

print get_class_average(student)
print get_class_grade(class_average)


This program gives an error message in the last two lines.

Please help me to fix this.

Replace this line with your code.


#2

this line:

print get_class_average(student)

get_class_average is for the studentS, you miss the s at the end.

then this line:

print get_class_grade(class_average)

get_class_grade is not a function, shouldn't this be get_letter_grade?

the students list built in put it together is missing, you need it in this exercise


#3

Try replacing the argument for "get_class_average" to "students" both for the variable "class_average" as well as when you're printing the function "get_class_average".

class_average = get_class_average(students)
print get_class_average(students)

(The argument "student" doesn't exist. They also don't want you to use your own list [lloyd, alice, tyler], but rather their "students" list)


#4

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

This is how I finished up the code.

Simply defined a list and then passed the list through the functions I made in the previous assignments to get up to this point.

The way I read the last lesson is it wanted us to create a students list. Then pass that list through the functions we worked on creating in previous lessons. So to get the class_average we simply pass our newly created students list into the function get_class_average. Then for getting the class letter grade we again pass our students list through the class average function, to get the average of the class and then pass that function through the get_letter_grade function we already created above.


#6

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