我假设你们很多人都熟悉CodeAcademy Python类.正如标题所说,我必须得到全班的平均分.这就是我所做的:
def get_class_average(students):
results = []
for student in students:
results.append(get_average(student))
return average(results)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是"哎呀,再试一次.get_class_average([alice,lloyd])按预期返回91.15而不是85.85".我现在似乎无法找到我的错误5个小时,所以请看一看并告诉我代码有什么问题.
你的return陈述的缩进是错误的.目前,它在循环的第一次迭代后返回.这是适当的缩进:
def get_class_average(students):
results = []
for student in students:
results.append(get_average(student))
return average(results)
Run Code Online (Sandbox Code Playgroud)
您还可以使用列表解析来简化代码:
def get_class_average(students):
return average(get_average(student) for student in students)
Run Code Online (Sandbox Code Playgroud)