我试图写一个叫做averageGrades的函数,它接受一个字典,里面有代表学生和 代表其等级的值。函数应该返回一个新字典,其中的键代表学生 以及代表他们平均成绩的数值。平均值应为整数并应被截断
我已经设法写了一点代码,这给了我一个平均值,但它没有遍历列表。。。在
def averageGrades(diction):
avgDict = {}
for k, v in diction.items():
# v is the list of grades for student k
avgDict[k] = sum(v)/ float(len(v))
return avgDict
平均成绩({“Shana”:[100,90,80],“Jody”:[100,70,80,90,100],“Mike”: [100,100,20]})
当我这样做时,我得到{'Shana':90.0}当我想要{'Jody':88,'Mike':73,'Shana':90}
这应该做到:
缩进很重要。在
函数在第一个循环处停止,因为
return
语句是在for
语句结束之前编写的你应该在for循环之外返回你的averageDict。如果它在for循环中,return语句将在第一次迭代之后返回,这是您不希望的。尝试如下。在
你的报税表位置错了。在您的例子中,return语句在for循环中,因此return语句返回的dict是第一个元素,而不是整个dict
相关问题 更多 >
编程相关推荐