在代码的最后一行,我无法打印结果

2024-05-21 04:54:55 发布

您现在位置:Python中文网/ 问答频道 /正文

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 student in students:
    print student['name']

提醒的错误是str的符号只能是整数,不能是str。请帮我找出我的错误


Tags: namefor错误testsstudenthomeworkalicestr
3条回答

因为students包含的字符串恰好是学生的名字,而不是学生词典本身。更改:

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

students = [lloyd, alice, tyler]

注意缺少引号。你知道吗

您的students变量是由3个字符串组成的列表,而不是由3个字典组成的列表

您将列表students创建为字符串列表,而不是引用列表。
您应该从以下位置编辑内容:

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

要使用上面创建的dicts的引用:

students = [lloyd, alice, tyler]

相关问题 更多 >