diff --git a/HN.py b/HN.py deleted file mode 100644 index ccfb23c..0000000 --- a/HN.py +++ /dev/null @@ -1,77 +0,0 @@ -# Metoda Hare-Niemeyer'a - - -import os, sys -proj_path = "C:/inzynierski/ordynacje" -# This is so Django knows where to find stuff. -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ordynacje.settings") -sys.path.append(proj_path) - -# This is so my local_settings.py gets loaded. -os.chdir(proj_path) - -# This is so models get loaded. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - - - -def HareNiemeyer (nr_okregu, liczba_mandatow): - from ordynacja.models import Glos - pobrane_glosy = Glos.objects.filter(okreg=nr_okregu).order_by("komitet") - - from ordynacja.models import Komitet - liczba_komitetow = Komitet.objects.count() - - glosy = [] - uzyskane_mandaty = [] - mandaty_ulamkowe = [] - licznik_mandatow = 0 - wszystkie_glosy = 0 - - for Glos in pobrane_glosy: - glosy.append(Glos.liczba) - #print(glosy) - - wszystkie_glosy = sum(glosy) - - # oblicz "pelne" mandaty - for i in range (liczba_komitetow): - mandaty_ulamkowe.append( float(glosy[i]*liczba_mandatow) / wszystkie_glosy) - uzyskane_mandaty.append(int(mandaty_ulamkowe[i])) - mandaty_ulamkowe[i] = mandaty_ulamkowe[i] - uzyskane_mandaty[i] - licznik_mandatow = licznik_mandatow + uzyskane_mandaty[i] - - #print(uzyskane_mandaty) - #print(licznik_mandatow) - #print(mandaty_ulamkowe) - - # rozdziel pozostałe mandaty między komitety z najwyższymi ułamkami mandatu - while (licznik_mandatow < liczba_mandatow): - max = -1 - for i in range(liczba_komitetow): - if max < mandaty_ulamkowe[i]: - max = mandaty_ulamkowe[i] - maxIndeks = i - uzyskane_mandaty[maxIndeks] = uzyskane_mandaty[maxIndeks] + 1 - licznik_mandatow = licznik_mandatow + 1 - mandaty_ulamkowe[maxIndeks] = 0 - - #print(uzyskane_mandaty) - #print(licznik_mandatow) - #print(mandaty_ulamkowe) - return uzyskane_mandaty; - -from ordynacja.models import Komitet -liczba_komitetow = Komitet.objects.count() -suma = [0] * liczba_komitetow - -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] #zgodnie z wyborami parlamentarnymi 2015 - -for i in range(liczba_okregow): - mandaty = HareNiemeyer(i+1, mandaty_w_okregach[i]) - for j in range (len(mandaty)): - suma[j] = suma[j] + mandaty[j] - -print(suma) \ No newline at end of file diff --git a/SL.py b/SL.py deleted file mode 100644 index 5eb00e2..0000000 --- a/SL.py +++ /dev/null @@ -1,55 +0,0 @@ -# Metoda Sainte-Lague - - -import os, sys -proj_path = "C:/inzynierski/ordynacje" -# This is so Django knows where to find stuff. -os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ordynacje.settings") -sys.path.append(proj_path) - -# This is so my local_settings.py gets loaded. -os.chdir(proj_path) - -# This is so models get loaded. -from django.core.wsgi import get_wsgi_application -application = get_wsgi_application() - - - -def sainteLague (nr_okregu, liczba_mandatow): - from ordynacja.models import Glos - pobrane_glosy = Glos.objects.filter(okreg=nr_okregu).order_by("komitet") - - glosy = [] - uzyskane_mandaty = [] - for Glos in pobrane_glosy: - glosy.append(Glos.liczba) - uzyskane_mandaty.append(0) - #print(glosy) - - - - for j in range(liczba_mandatow): - imax = 0 - for i in range(len(glosy)): - if (glosy[i]/(2 * uzyskane_mandaty[i] + 1)) > (glosy[imax]/(2 * uzyskane_mandaty[imax] + 1)): - imax = i - - uzyskane_mandaty[imax] = uzyskane_mandaty[imax] + 1 - - #print(uzyskane_mandaty) - return uzyskane_mandaty; - -from ordynacja.models import Komitet -liczba_komitetow = Komitet.objects.count() -suma = [0] * liczba_komitetow - -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] #zgodnie z wyborami parlamentarnymi 2015 - -for i in range(liczba_okregow): - mandaty = sainteLague(i+1, mandaty_w_okregach[i]) - for j in range (len(mandaty)): - suma[j] = suma[j] + mandaty[j] - -print(suma) \ No newline at end of file