Subversion Repositories Remote Hare Voting

Rev

Rev 39 | Rev 75 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 39 Rev 45
Line 51... Line 51...
51
    if fHTML: print s
51
    if fHTML: print s
52
    return
52
    return
53
 
53
 
54
def doone(nWinners, ballots):
54
def doone(nWinners, ballots):
55
    results = tally.dotally(nWinners, ballots)
55
    results = tally.dotally(nWinners, ballots)
-
 
56
    tally.fTrace = 1
56
    print "\nFINAL RESULTS"
57
    tally.trace("\nFINAL RESULTS")
57
    for winner in results:
58
    for winner in results:
58
        print "\t%s" % winner
59
        tally.trace("\t%s" % winner)
59
 
60
 
60
def domany(nTimes, nWinners, ballots):
61
def domany(nTimes, nWinners, ballots):
61
    print "RUNNING %d TIMES" % (nTimes)
-
 
62
    tally.fTrace = 0
62
    tally.fTrace = 0
63
    summary = {}
63
    summary = {}
64
    for i in range(nTimes):
64
    for i in range(nTimes):
65
        results = str(tally.dotally(nWinners, ballots))
65
        results = str(tally.dotally(nWinners, ballots))
66
        # print "Run %2d: %s" % (i+1, results)
-
 
67
        if not summary.has_key(results):
66
        if not summary.has_key(results):
68
            summary[results] = 0
67
            summary[results] = 0
69
        summary[results] = summary[results] + 1
68
        summary[results] = summary[results] + 1
70
    print "\nSUMMARY"
69
    tally.fTrace = 1
-
 
70
    tally.trace("SUMMARY AFTER %d TIMES" % nTimes)
71
    l = summary.items()
71
    l = summary.items()
72
    l.sort(lambda x,y: cmp(y[1], x[1]))
72
    l.sort(lambda x,y: cmp(y[1], x[1]))
73
    for pair in l:
73
    for pair in l:
74
        print "%2d %s" % (pair[1], pair[0])
74
        tally.trace("%3d %s" % (pair[1], pair[0]))
75
 
75
 
76
def doweb():
76
def doweb():
77
    emitPreHTML(formaction)
77
    emitPreHTML(formaction)
78
    form = cgi.FieldStorage()
78
    form = cgi.FieldStorage()
79
 
79