为了账号安全,请及时绑定邮箱和手机立即绑定

Python计算加权平均分的问题?大神求解答。。。。。

Python计算加权平均分的问题?大神求解答。。。。。

asdhjhg 2017-04-05 19:23:20
def getSubjectStats(subject, weights):     '''        e.g.        subject:[['Bart','geology'],[10,5,85]]--grades即是[10,5,85]        weights:[0.3,0.2,0.5]     '''     return [[elt[0], elt[1], avg(elt[1], weights)]             for elt in subject]              def dotProduct(a,b):     result = 0.0     for i in range(len(a)):         result += a[i]*b[i]     return result          def avg(grades, weights):     try:         return dotProduct(grades, weights)/len(grades)#这几个函数就是为了求同学加权平均成绩,但是这里是不是错了?/len(grades)这个地方不对吧?加权平均数比如Bart地理成绩是[10,5,85],三个各占比例[0.3,0.2,0.5],那么应该是(10*0.3)+(5*0.2)+(85*0.5)就可以了啊,就算再除以那也是除以%100才对,怎么能再除以3??大神能否解答一下!     except ZeroDivisionError:         print 'no grades data'         return 0.0
查看完整描述

1 回答

?
奇风

TA贡献6条经验 获得超0个赞

百度:

加权平均值即将各数值乘以相应的权数,然后加总求和得到总体值,再除以总的单位数。

单位数是数的个数在这里是3


查看完整回答
反对 回复 2019-03-07
  • 1 回答
  • 0 关注
  • 2263 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信