Norman Khine wrote:
Hi,
Appologies, there was a typo, in that the first line is:

['1'] ['a1', 'a2', 'a2', 'a2'] [1, 1, 2, 4]

Yes -- that helps.

So, working from your xml samples, by doing something like:

responses = [ [a,b,c] for a,b,c in responseAnalysisGenerator ]

you can end up with responses and survey that look like:

responses = [
  [['1'],['a1', 'a2'],[1, [2,3]]],
  [['5'],['a1', 'a2'],[1, 2]],
  [['3'],['a1', 'a2'],[3, 4]]
  ]

survey = [{'question': 'a1',
  'options': [[u'Yes',
               u'No',
               u"Don't know"]],
   'title': u"Is an augumented assignment such as \
               'x = x + 1' the same as x += 1?"},
 {'question': 'a2',
  'options': [[u"'x = (x * y) + 1'",
               u"'x = x * (y + 1)",
               u"'x = (y + 1) * x'",
               u'All of the above']],
  'title': u"The statement 'x *= y + 1' is equivalent to:"}]

Now the questions evolves to extracting the appropriate formatted output
from these two structures. This can take place in many ways and is directly a function of the range of questions you'd want to answer. In addition to the totals by question, one of your output formats appeared to be a restatement by user of the survey. This suggests a class structure where you initialize the class with something like:

myAnalyzer = SurveyAnalyzer(survey,responses)

and let it respond to queries like:

sampleRecap = myAnalyzer.recap()
sampleRecap = myAnalyzer.userResponse('3')

Does this help?

Emile

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to