~oubiwann/ballotbox/trunk

« back to all changes in this revision

Viewing changes to docs/html/docs/USAGE.html

  • Committer: Duncan McGreggor
  • Date: 2011-07-17 16:43:57 UTC
  • Revision ID: duncan@canonical.com-20110717164357-d49y2t4pcfte8bcg
Fixed some typos in the docs.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
    <script type="text/javascript" src="../_static/underscore.js"></script>
24
24
    <script type="text/javascript" src="../_static/doctools.js"></script>
25
25
    <link rel="top" title="BallotBox v0.1 documentation" href="../index.html" />
26
 
    <link rel="next" title="License" href="LICENSE.html" />
 
26
    <link rel="next" title="Voting Methods" href="methods/VOTINGMETHODS.html" />
27
27
    <link rel="prev" title="Installation" href="INSTALL.html" /> 
28
28
  </head>
29
29
  <body>
37
37
          <a href="../py-modindex.html" title="Python Module Index"
38
38
             >modules</a> |</li>
39
39
        <li class="right" >
40
 
          <a href="LICENSE.html" title="License"
 
40
          <a href="methods/VOTINGMETHODS.html" title="Voting Methods"
41
41
             accesskey="N">next</a> |</li>
42
42
        <li class="right" >
43
43
          <a href="INSTALL.html" title="Installation"
55
55
<h1>Usage<a class="headerlink" href="#usage" title="Permalink to this headline">¶</a></h1>
56
56
<p>Below is a quick introduction to the usage of the API. The voting method used
57
57
in this example is simple majority.  Simple majority rule voting is mostly
58
 
useful for binary decision. Below are some examples involving just two
 
58
useful for binary decisions. Here are some examples involving just two
59
59
choices:</p>
60
60
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">ballotbox.ballot</span> <span class="kn">import</span> <span class="n">BallotBox</span>
61
61
<span class="gp">&gt;&gt;&gt; </span><span class="kn">from</span> <span class="nn">ballotbox.singlewinner.simple</span> <span class="kn">import</span> <span class="n">MajorityRuleVoting</span>
62
62
 
63
63
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span> <span class="o">=</span> <span class="n">BallotBox</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="n">MajorityRuleVoting</span><span class="p">)</span>
64
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mi">10000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mi">5000</span><span class="p">)])</span>
 
64
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mf">10000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mf">5000</span><span class="p">)])</span>
65
65
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">get_winner</span><span class="p">()</span>
66
66
<span class="go">[(10000, &#39;alice&#39;)]</span>
67
67
 
68
68
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span> <span class="o">=</span> <span class="n">BallotBox</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="n">MajorityRuleVoting</span><span class="p">)</span>
69
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mi">5000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mi">5001</span><span class="p">)])</span>
 
69
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mf">5000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mf">5001</span><span class="p">)])</span>
70
70
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">get_winner</span><span class="p">()</span>
71
71
<span class="go">[(5001, &#39;carol&#39;)]</span>
72
72
</pre></div>
74
74
<p>This method breaks down with ties and is not guaranteed to work with more than
75
75
two choices:</p>
76
76
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span> <span class="o">=</span> <span class="n">BallotBox</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="n">MajorityRuleVoting</span><span class="p">)</span>
77
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mi">8000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mi">8000</span><span class="p">)])</span>
 
77
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mf">8000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mf">8000</span><span class="p">)])</span>
78
78
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">get_winner</span><span class="p">()</span>
79
79
<span class="go">[]</span>
80
80
</pre></div>
81
81
</div>
82
82
<p>No result is returned. Likewise for edge cases with more than two candidates:</p>
83
83
<div class="highlight-python"><div class="highlight"><pre><span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span> <span class="o">=</span> <span class="n">BallotBox</span><span class="p">(</span><span class="n">method</span><span class="o">=</span><span class="n">MajorityRuleVoting</span><span class="p">)</span>
84
 
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mi">5000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mi">4000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mi">3000</span><span class="p">)])</span>
 
84
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">batch_votes</span><span class="p">([(</span><span class="s">&quot;alice&quot;</span><span class="p">,</span> <span class="mf">5000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;bob&quot;</span><span class="p">,</span> <span class="mf">4000</span><span class="p">),</span> <span class="p">(</span><span class="s">&quot;carol&quot;</span><span class="p">,</span> <span class="mf">3000</span><span class="p">)])</span>
85
85
<span class="gp">&gt;&gt;&gt; </span><span class="n">bb</span><span class="o">.</span><span class="n">get_winner</span><span class="p">()</span>
86
86
<span class="go">[]</span>
87
87
</pre></div>
98
98
  <p class="topless"><a href="INSTALL.html"
99
99
                        title="previous chapter">Installation</a></p>
100
100
  <h4>Next topic</h4>
101
 
  <p class="topless"><a href="LICENSE.html"
102
 
                        title="next chapter">License</a></p>
 
101
  <p class="topless"><a href="methods/VOTINGMETHODS.html"
 
102
                        title="next chapter">Voting Methods</a></p>
103
103
  <h3>This Page</h3>
104
104
  <ul class="this-page-menu">
105
105
    <li><a href="../_sources/docs/USAGE.txt"
132
132
          <a href="../py-modindex.html" title="Python Module Index"
133
133
             >modules</a> |</li>
134
134
        <li class="right" >
135
 
          <a href="LICENSE.html" title="License"
 
135
          <a href="methods/VOTINGMETHODS.html" title="Voting Methods"
136
136
             >next</a> |</li>
137
137
        <li class="right" >
138
138
          <a href="INSTALL.html" title="Installation"