4/9 What am I doing wrong here?


#1

I've listed my code below but still get an error....any thoughts?
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]
}
students = ["lloyd", "alice", "tyler"]
for stu in students:
print stu["name"]
print stu["homework"]
print stu["quizzes"]
print stu["tests"]


#2

Thought it might help to show the error I'm getting with this...Traceback (most recent call last):
File "python", line 21, in
TypeError: string indices must be integers, not str
Where line 21 starts my print statements


#3

Try changing the line:

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

to:

students = [lloyd, alice, tyler]

By putting the names in quotes you are making a list consisting of those 3 names as strings, rather than making a list of the dictionaries you previously defined.