示例#1
0
def ProcessAnswers(profiles):
    aStats  =   {}
    for questionId in QuestionDB.getQuestionIds():
        aStats[questionId] = StatContainer(questionId)

    for profile in profiles:
        for idx in range(len(profile.Answers)):
            aStats[profile.Answers[idx]].addWeight( float(idx)/float(len(profile.Answers)))
    reportTable = ReportTable("Id","Count","Score","Text")
    sortedStats = sorted(aStats.values())
    for idx in range(128):
        aStat = sortedStats[len(sortedStats) - idx - 1]
        reportTable.addRow(aStat.getId(),aStat.getCount(),int(aStat.getScore()),QuestionDB.getText(aStat.getId()))

    return reportTable
示例#2
0
    def printSet(answer_set):
        sys.stderr.write("Set Contains %d of %d Questions\n" % (len(answer_set),len(QuestionDB.getQuestionIds())))
        for questionId,answer in answer_set.iteritems():
            text    =   QuestionDB.getText(questionId)
            sys.stderr.write("[%8d] Question:   %s\n" % (questionId,text))
            Answers = QuestionDB.getAnswers(questionId)
            for idx in range(len(Answers)):
                if idx+1 == answer.Selected:
                    selected = "[X]"
                else:
                    selected = "[ ]"

                if (1 << idx+1) & answer.Accepted:
                    accepted = "[X]"
                else:
                    accepted = "[ ]"

                sys.stderr.write("[%8d]\t%s%s %s\n" % (questionId,selected,accepted,Answers[idx]))
            sys.stderr.write("[%8d]\tImportance: %s\n" % (questionId,answer.Importance))
            sys.stderr.write("[%8d]\tExplination: %s\n" % (questionId,answer.Explination))
            sys.stderr.write("[%8d]\tRaw: (%s,%s,%s)\n" % (questionId,answer.Selected,answer.Accepted,answer.Importance))