Codecademy - Python - 学生成为教师8/9 - 整体的一部分

时间:2014-05-14 10:55:28

标签: python

我认为你们很多人都熟悉CodeAcademy Python类。正如标题所说,我必须得到全班的平均分。这就是我所做的:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
        return average(results)

我得到的错误是“哎呀,再试一次.get_class_average([alice,lloyd])按预期返回91.15而不是85.85”。我现在似乎无法找到我的错误5个小时,所以请看一看并告诉我代码有什么问题。

1 个答案:

答案 0 :(得分:8)

return声明的缩进是错误的。目前,它在循环的第一次迭代后返回。这是适当的缩进:

def get_class_average(students):
    results = []
    for student in students:
        results.append(get_average(student))
    return average(results)

您还可以使用列表理解来简化代码:

def get_class_average(students):
    return average(get_average(student) for student in students)