D' Hontsches Verfahren in Python
Es gibt zwei Code-Versionen für das D'Hontsche Verfahren in Python, also die Aufteilung der Mandate bei gegebener Stimmenanzahl:
stimmen=[400,300,100] tempstimmen=list(stimmen) m=5 mandate=[0,0,0] #MUSS noch abhängig von m gemacht werden quotient=[1,1,1] #MUSS noch abhängig von m gemacht werden for i in range(m): aktmand=tempstimmen.index(max(tempstimmen)) mandate[aktmand] = mandate[aktmand]+1 quotient[aktmand] = quotient[aktmand]+1 tempstimmen[aktmand] = tempstimmen[aktmand]/quotient[aktmand] print "Die Stimmen:", stimmen print "Die Mandate:", mandate
#BESSERE VARIANTE stimmen=[400,300,100] m=5 tempstimmen=list(stimmen) mandate=[] quotient=[] for j in range(len(stimmen)): mandate.append(0) quotient.append(1) for i in range(m): aktmand=tempstimmen.index(max(tempstimmen)) #Partei, die max. Anzahl an tempstimmen hat mandate[aktmand] = mandate[aktmand]+1 #erhöhe Mandatezahl der Partei (an Stelle aktmand) quotient[aktmand] = quotient[aktmand]+1 #erhöhe entsprechenden Quotienten tempstimmen[aktmand] = tempstimmen[aktmand]/quotient[aktmand] print "Die Stimmen:", stimmen print "Die Mandate:", mandate