|
12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- # D'Hondt method calculations
- # https://en.wikipedia.org/wiki/D'Hondt_method
- # By Adrian Short (@adrianshort) 26 May 2014
-
- # European Parliament election, London region, 22 May 2014
-
- @parties = {
- '4 Freedoms Party (UK EPP)' => 28014,
- 'An Independence from Europe' => 26675,
- 'Animal Welfare Party' => 21092,
- 'British National Party' => 19246,
- 'Christian Peoples Alliance' => 23702,
- 'Communities United Party' => 6951,
- 'Conservative Party' => 495639,
- 'English Democrats' => 10142,
- 'Europeans Party' => 10712,
- 'Green Party' => 196419,
- 'Harmony Party' => 1985,
- 'Labour Party' => 806959,
- 'Liberal Democrats' => 148013,
- 'National Health Action Party' => 23253,
- 'National Liberal Party True Liberalism' => 6736,
- 'NO2EU' => 3804,
- 'UK Independence Party (UKIP)' => 371133
- }
-
- @seats = 8 # Total number of seats to be elected in this district
-
- @averages = []
-
- @parties.each do |party|
- (1..@seats).each do |denominator|
- @averages << [ party[0], party[1] / denominator ]
- end
- end
-
- @winners = @averages.sort { |a,b| b[1] <=> a[1] }[0..@seats - 1]
-
- puts "Place. Party"
-
- (1..@seats).each do |place|
- puts "%d. %s" % [ place, @winners[place - 1][0]]
- end
|