"Part of The Whole" (error: 'tuple' object has no attribute 'append')?


#1

Friends, my code is not working for some reason. Can any of you find the problem?

https://www.codecademy.com/courses/python-beginner-en-qzsCL/1/4?curriculum_id=4f89dab3d788890003000096

error message says" Oops, try again. get_class_average([alice]) resulted in an error: 'tuple' object has no attribute 'append'"


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 (homework * 0.1) + (quizzes * 0.3) + (tests * 0.6)
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)


#2

You've got the wrong brackets / parentheses.
Not this: results = () but this instead results = []

Minor mistake, you'll get used to it :wink:


#3

Hi,
@ronybot pretty much told you what's wrong but do you know why it's brackets instead of parentheses?


#4

Are you asking me? I answered it anyways.. Brackets because you're trying to make an empty list, and not a tuple


#5

I was asking him/her to make sure they know why they needed to do that.


#6

:expressionless::gun: yes, I guess its good to know these minor mistakes are normal.


#7

yes, its a list. List's use brackets.


#8

I like how ronybot response was blurred out for me. I'm not sure whether that was purposely done by rony or by code academy but I like that they do that. :thumbsup:


#9

and since were in discussion can I ask you what the difference is between a list and a tuple? What are tuple used for? I havent really read or used them just yet, it would be nice to get a heads up.


#10

I did that on my own.. I used the spoiler function, if you wanted to know.

As for your second question, I'll direct you towards this page. I found it useful, you could also learn stuff on your self, because this course doesn't teach you about tuples. Unless they got something coming this update.


#11

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