From e84100c24784f939ccb13956251abdec14b3a25b Mon Sep 17 00:00:00 2001 From: Miguel Barao Date: Tue, 9 Jun 2015 17:02:13 +0100 Subject: [PATCH] - fixed bug in checkbox question when correcting with [0,...,0]. --- questions.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/questions.py b/questions.py index 0386a1c..06d60a6 100644 --- a/questions.py +++ b/questions.py @@ -266,16 +266,21 @@ class QuestionCheckbox(Question): self['grade'] = 0.0 else: # answered - x = 0.0 + sum_abs = sum(abs(p) for p in self['correct']) + if sum_abs < 1e-6: # in case correct: [0,0,0,0,0] + self['grade'] = 0.0 - if self['discount']: - for i, p in enumerate(self['correct']): - x += p if str(i) in self['answer'] else -p - self['grade'] = x / sum(abs(p) for p in self['correct']) else: - for i, p in enumerate(self['correct']): - x += p if str(i) in self['answer'] else 0.0 - self['grade'] = x / sum(abs(p) for p in self['correct']) + x = 0.0 + + if self['discount']: + for i, p in enumerate(self['correct']): + x += p if str(i) in self['answer'] else -p + else: + for i, p in enumerate(self['correct']): + x += p if str(i) in self['answer'] else 0.0 + + self['grade'] = x / sum_abs return self['grade'] -- libgit2 0.21.2