import random
import operator
from random import randint
from random import seed
parties = (
{"name": "BSP", "hate": 95},
{"name": "GERB", "hate": 1000},
{"name": "DPS", "hate": 900},
{"name": "Slavy Trifonov", "hate": 150},
{"name": "DB", "hate": 40},
{"name": "Vazrazhdane", "hate": 40},
{"name": "Volya - NFSB", "hate": 455},
{"name": "VMRO", "hate": 455},
{"name": "ATAKA", "hate": 55},
{"name": "MUTRI VYN", "hate": 43},
{"name": "REPUBLIKANCI", "hate": 570},
{"name": "KOD", "hate": 300},
{"name": "ABV - MANGAROV", "hate": 30},
{"name": "Pryaka demokraciq - Klissarov", "hate": 20},
{"name": "BG LYATO - Cherepa", "hate": 400},
)
strelbishte = []
partii_v_strelbishte = []
akumulirani_brojki = {}
seed(a=None, version=2)
for party in parties:
count = 1000 - party["hate"]
if count == 0:
continue
akumulirani_brojki[party["name"]] = 0
partii_v_strelbishte += [party["name"]] * count
strelbishte += [0] * count
random.shuffle(partii_v_strelbishte)
broj_v_strelbishte = len(partii_v_strelbishte)
seed(a=None, version=2)
for i in range(0, 3000):
izteglenoChislo = randint(0, broj_v_strelbishte - 1)
strelbishte[izteglenoChislo] += 1
akumulirani_brojki[partii_v_strelbishte[izteglenoChislo]] += 1
sorted_akumulirani_brojki = sorted(akumulirani_brojki.items(), key=operator.itemgetter(1), reverse=True)
# print(akumulirani_brojki)
print(sorted_akumulirani_brojki)