allow for unanswered questions
This commit is contained in:
parent
bf948e12b7
commit
13d48b6ab0
2 changed files with 19 additions and 2 deletions
|
@ -33,9 +33,13 @@ Responses
|
||||||
|
|
||||||
>>> from cybertools.knowledge.survey.questionnaire import Response
|
>>> from cybertools.knowledge.survey.questionnaire import Response
|
||||||
>>> resp01 = Response(quest, 'john')
|
>>> resp01 = Response(quest, 'john')
|
||||||
|
|
||||||
>>> resp01.values = {qu01: 2, qu02: 1, qu03: 4}
|
>>> resp01.values = {qu01: 2, qu02: 1, qu03: 4}
|
||||||
|
|
||||||
|
It's possible to leave some of the questions unanswered.
|
||||||
|
|
||||||
|
>>> resp02 = Response(quest, 'john')
|
||||||
|
>>> resp02.values = {qu01: 2, qu03: 4}
|
||||||
|
|
||||||
Now let's calculate the result for resp01.
|
Now let's calculate the result for resp01.
|
||||||
|
|
||||||
>>> res = resp01.getResult()
|
>>> res = resp01.getResult()
|
||||||
|
@ -45,6 +49,11 @@ Now let's calculate the result for resp01.
|
||||||
fi01 2.7
|
fi01 2.7
|
||||||
fi02 0.7
|
fi02 0.7
|
||||||
|
|
||||||
|
>>> res = resp02.getResult()
|
||||||
|
>>> for fi, score in res:
|
||||||
|
... print fi.text, score
|
||||||
|
fi03 4.0
|
||||||
|
fi01 2.4
|
||||||
|
|
||||||
Grouped Feedback Items
|
Grouped Feedback Items
|
||||||
======================
|
======================
|
||||||
|
@ -59,3 +68,9 @@ Grouped Feedback Items
|
||||||
>>> for qugroup, fi, score in res:
|
>>> for qugroup, fi, score in res:
|
||||||
... print fi.text, round(score, 2)
|
... print fi.text, round(score, 2)
|
||||||
fi02 0.58
|
fi02 0.58
|
||||||
|
|
||||||
|
>>> res = resp02.getGroupedResult()
|
||||||
|
>>> for qugroup, fi, score in res:
|
||||||
|
... print fi.text, round(score, 2)
|
||||||
|
fi03 0.75
|
||||||
|
|
||||||
|
|
|
@ -97,7 +97,9 @@ class Response(object):
|
||||||
for qugroup in self.questionnaire.questionGroups:
|
for qugroup in self.questionnaire.questionGroups:
|
||||||
score = scoreMax = 0.0
|
score = scoreMax = 0.0
|
||||||
for qu in qugroup.questions:
|
for qu in qugroup.questions:
|
||||||
value = self.values.get(qu, 0.0)
|
value = self.values.get(qu)
|
||||||
|
if value is None:
|
||||||
|
continue
|
||||||
if qu.revertAnswerOptions:
|
if qu.revertAnswerOptions:
|
||||||
value = qu.answerRange - value - 1
|
value = qu.answerRange - value - 1
|
||||||
score += value
|
score += value
|
||||||
|
|
Loading…
Add table
Reference in a new issue