give groups as parameters to team calculation to make evaluation independent of user data
This commit is contained in:
parent
abdf27372b
commit
aa8814b29b
2 changed files with 5 additions and 6 deletions
|
@ -87,8 +87,7 @@ Team evaluation
|
|||
>>> resp01.values[qugroup] = resp01.getGroupedResult()[0]['score']
|
||||
>>> resp03.values[qugroup] = resp03.getGroupedResult()[0]['score']
|
||||
|
||||
>>> teamData = resp01.getTeamResult(resp03.getGroupedResult(),
|
||||
... [resp01, resp03])
|
||||
>>> teamData = resp01.getTeamResult([qugroup], [resp01, resp03])
|
||||
>>> teamData
|
||||
[{'average': 0.6666...}]
|
||||
|
||||
|
|
|
@ -125,14 +125,14 @@ class Response(object):
|
|||
r['rank'] = ranks[idx]
|
||||
return result
|
||||
|
||||
def getTeamResult(self, mine, teamData):
|
||||
def getTeamResult(self, groups, teamData):
|
||||
result = []
|
||||
for idx, qgdata in enumerate(mine):
|
||||
values = [data.values.get(qgdata['group']) for data in teamData]
|
||||
for idx, group in enumerate(groups):
|
||||
values = [data.values.get(group) for data in teamData]
|
||||
values = [v for v in values if v is not None]
|
||||
#avg = sum(values) / len(teamData)
|
||||
avg = sum(values) / len(values)
|
||||
result.append(dict(group=qgdata['group'], average=avg))
|
||||
result.append(dict(group=group, average=avg))
|
||||
ranks = getRanks([r['average'] for r in result])
|
||||
for idx, r in enumerate(result):
|
||||
r['rank'] = ranks[idx]
|
||||
|
|
Loading…
Add table
Reference in a new issue