所以我的目标是获取三个字典,并以这种格式打印出来:
姓名:《姓名》
作业:“列表的平均值”
测验:“列表的平均值”
测试:“列表的平均值”
我的列表中包含 3 个字典,但我无法深入挖掘。我在这里一步一步地尝试。
所以查看这段代码后:
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]
def compute_grades(ourstudents):
for student in ourstudents:
print "Name: " + student["name"]
print "Homework: ", sum(student["homework"]) / len(student["homework"])
print "Quizzes: ", sum(student["quizzes"]) / len(student["quizzes"])
print "Tests: ", sum(student["tests"]) / len(student["tests"])
compute_grades(students)
有没有办法我可以做一个基本的检查,所以这适用于任何字典?
例如...
- 键定义是字符串吗?如果有,请打印出来!
- 键定义是列表吗?如果是这样,请运行此平均函数并打印结果。
我基本上只是想最小化其中的硬编码并提出一个更优雅的解决方案。任何帮助表示赞赏!