Volby 2016

Pocuvam ze kto s kym nechce do vlady, a uz sa mi to vzdalo byt komplikovane, tak som napisal python skript… (Zoznam mozete akutalizovat)
Vysledne percento je pocitane podla mandatov.

data = [
 ["#Siet", 10],
 ["Most-Hid", 11],
 ["Sme rodina", 11],
 ["SNS", 15],
 ["OLaNO-NOVA", 19],
 ["SaS", 21],
 ["Smer-SD", 49],
 ["LSNS", 14],
]

# Nechcu spolu
ndata = [
 ["#Siet", "Smer-SD"],
 ["Most-Hid", "SNS"],
 ["SaS", "Smer-SD"],
 ["Smer-SD", "OLaNO-NOVA"],
 ["#Siet", "LSNS"],
 ["Most-Hid", "LSNS"],
 ["Sme rodina", "LSNS"],
 ["SNS", "LSNS"],
 ["OLaNO-NOVA", "LSNS"],
 ["SaS", "LSNS"],
 ["Smer-SD", "LSNS"],
]

flags = [0,0,0,0,0,0,0,0]

keys = []
output_data = []

for flags[0] in range(0, 2):
 for flags[1] in range(0, 2):
  for flags[2] in range(0, 2):
   for flags[3] in range(0, 2):
    for flags[4] in range(0, 2):
     for flags[5] in range(0, 2):
      for flags[6] in range(0, 2):
       for flags[7] in range(0, 2):
        strany = []
        miesta = 0
        for k in range(0,8):
         if flags[k] == 1:
          strany += [data[k][0]]
          miesta += data[k][1]

        ok = True
        for k in ndata:
         if k[0] in strany and k[1] in strany:
          ok = False

        if ok:
         key = "".join(strany)
         if not key in keys:
          keys += [key]
          output_data += [[miesta, strany]]

for k in sorted(output_data, key=lambda i: i[0]):
 print k[0]*100.0/150.0, len(k[1]), k[1]

volby

Priklad vystupu:

# ...
32.6666666667 1 ['Smer-SD']
33.3333333333 3 ['#Siet', 'OLaNO-NOVA', 'SaS']
34.0 3 ['Sme rodina', 'OLaNO-NOVA', 'SaS']
34.0 3 ['Most-Hid', 'OLaNO-NOVA', 'SaS']
34.0 4 ['#Siet', 'Most-Hid', 'Sme rodina', 'OLaNO-NOVA']
35.3333333333 4 ['#Siet', 'Most-Hid', 'Sme rodina', 'SaS']
36.6666666667 3 ['SNS', 'OLaNO-NOVA', 'SaS']
36.6666666667 4 ['#Siet', 'Sme rodina', 'SNS', 'OLaNO-NOVA']
38.0 4 ['#Siet', 'Sme rodina', 'SNS', 'SaS']
40.0 2 ['Sme rodina', 'Smer-SD']
40.0 2 ['Most-Hid', 'Smer-SD']
40.6666666667 4 ['#Siet', 'Sme rodina', 'OLaNO-NOVA', 'SaS']
40.6666666667 4 ['#Siet', 'Most-Hid', 'OLaNO-NOVA', 'SaS']
41.3333333333 4 ['Most-Hid', 'Sme rodina', 'OLaNO-NOVA', 'SaS']
42.6666666667 2 ['SNS', 'Smer-SD']
43.3333333333 4 ['#Siet', 'SNS', 'OLaNO-NOVA', 'SaS']
44.0 4 ['Sme rodina', 'SNS', 'OLaNO-NOVA', 'SaS']
47.3333333333 3 ['Most-Hid', 'Sme rodina', 'Smer-SD']
48.0 5 ['#Siet', 'Most-Hid', 'Sme rodina', 'OLaNO-NOVA', 'SaS']
50.0 3 ['Sme rodina', 'SNS', 'Smer-SD']
50.6666666667 5 ['#Siet', 'Sme rodina', 'SNS', 'OLaNO-NOVA', 'SaS']
Posted in IT