use precalculated scores per question group for team result
This commit is contained in:
parent
94463df4d5
commit
d994b646e9
2 changed files with 13 additions and 11 deletions
|
@ -84,7 +84,11 @@ Team evaluation
|
||||||
>>> resp03 = Response(quest, 'mary')
|
>>> resp03 = Response(quest, 'mary')
|
||||||
>>> resp03.values = {qu01: 1, qu02: 2, qu03: 4}
|
>>> resp03.values = {qu01: 1, qu02: 2, qu03: 4}
|
||||||
|
|
||||||
>>> res, ranks, averages = resp01.getTeamResult([resp01, resp03])
|
>>> resp01.values[qugroup] = resp01.getGroupedResult()[0][2]
|
||||||
>>> ranks, averages
|
>>> resp03.values[qugroup] = resp03.getGroupedResult()[0][2]
|
||||||
([2], [0.6666...])
|
|
||||||
|
>>> ranks, averages = resp01.getTeamResult(resp03.getGroupedResult(),
|
||||||
|
... [resp01, resp03])
|
||||||
|
>>> ranks, averages
|
||||||
|
([1], [0.6666...])
|
||||||
|
|
||||||
|
|
|
@ -110,18 +110,16 @@ class Response(object):
|
||||||
result.append((qugroup, qugroup.feedbackItems[int(wScore)], relScore))
|
result.append((qugroup, qugroup.feedbackItems[int(wScore)], relScore))
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def getTeamResult(self, teamData):
|
def getTeamResult(self, mine, teamData):
|
||||||
mine = self.getGroupedResult()
|
|
||||||
all = [d.getGroupedResult() for d in teamData]
|
|
||||||
averages = []
|
averages = []
|
||||||
ranks = []
|
ranks = []
|
||||||
for idx, qgdata in enumerate(mine):
|
for idx, qgdata in enumerate(mine):
|
||||||
total = 0.0
|
total = 0.0
|
||||||
pos = len(teamData)
|
values = sorted([data.values[qgdata[0]] for data in teamData])
|
||||||
for j, data in enumerate(all):
|
for j, value in enumerate(values):
|
||||||
total += data[idx][2]
|
total += value
|
||||||
if qgdata[2] >= data[idx][2]:
|
if qgdata[2] >= value:
|
||||||
pos = len(teamData) - j
|
pos = len(teamData) - j
|
||||||
ranks.append(pos)
|
ranks.append(pos)
|
||||||
averages.append(total / len(teamData))
|
averages.append(total / len(teamData))
|
||||||
return mine, ranks, averages
|
return ranks, averages
|
||||||
|
|
Loading…
Add table
Reference in a new issue