Compare commits
2 Commits
master
...
obliczanie
Author | SHA1 | Date | |
---|---|---|---|
![]() |
a799e7abc4 | ||
![]() |
7208c89ed6 |
43
obliczanieMandatow.py
Normal file
43
obliczanieMandatow.py
Normal file
@ -0,0 +1,43 @@
|
||||
#!/usr/bin/python
|
||||
from ordynacja.models import Glos, Komitet
|
||||
|
||||
|
||||
class obliczanieMandatow(object):
|
||||
@staticmethod
|
||||
def dhondta(komitety, glosy, mandaty):
|
||||
glosy_kopia = list(glosy)
|
||||
dzielniki_glosy = [ 1 for i in range(len(glosy_kopia)) ]
|
||||
ilosc_mandatow = [ 0 for i in range(len(glosy_kopia)) ]
|
||||
while(mandaty != 0):
|
||||
index = 0
|
||||
max = glosy_kopia[0]
|
||||
for i in range(1,len(glosy_kopia)):
|
||||
if(glosy_kopia[i]>=max):
|
||||
if(glosy_kopia[i]==max):
|
||||
if(glosy[i]>glosy[index]):
|
||||
max = glosy_kopia[i]
|
||||
index = i
|
||||
else:
|
||||
max = glosy_kopia[i]
|
||||
index = i
|
||||
dzielniki_glosy[index] = dzielniki_glosy[index] + 1
|
||||
print glosy_kopia[index], '', komitety[index]
|
||||
glosy_kopia[index] = glosy[index] / dzielniki_glosy[index]
|
||||
mandaty = mandaty - 1
|
||||
ilosc_mandatow[index] = ilosc_mandatow[index] + 1
|
||||
return ilosc_mandatow
|
||||
|
||||
liczba_okregow = 41
|
||||
mandaty_w_okregach = [12,8,14,12,13,15,12,12,10,9,12,8,14,10,9,10,9,12,20,12,12,11,15,14,12,14,9,7,9,9,12,9,16,8,10,12,9,9,10,8,12]
|
||||
|
||||
for i in range(liczba_okregow):
|
||||
komitety = []
|
||||
liczba_glosow = []
|
||||
|
||||
komitetyBaza = Komitet.objects().all()
|
||||
for j in KomitetBaza:
|
||||
komitety.append(j.name)
|
||||
glosy = Glos.objects().filter(okreg=i+1).order_by("kw_id")
|
||||
for g in glosy:
|
||||
liczba_glosow.append(g.liczba)
|
||||
obliczanieMandatow.dhondta(komitety, liczba_glosow, mandaty_w_okregach[i])
|
Loading…
Reference in New Issue
Block a user