Hola,
Estoy pensando en hacer un módulo de votación para el foro del partido
que se base en alguno de los sistemas de delegación que ha expuesto
David [1], y que creo que no necesita de los requisitos de rendimiento
o seguridad que se hablan aquí.
Si alguien le apetece hacer cosas más "mundanas" como jugar con phpbb
y el funcionamiento del sistema de voto delegado pues estaría
encantado de que me echarais un cable!
De momento esta tarde he probado el sistema de delegación simple y de
paso he recordado que era programar :). Os adjunto el código [2].
Un saludo,
Canx.
[1]:
http://www.partidodeinternet.es/wiki/Usuario:Davidr#Sistemas_de_delegacion_en_orden_ascendente_de_flexibilidad
[2]
delegacion_basica.py:
-----------------------------------------------------------
def calcula_voto(voto, lista_delegados):
if voto in opciones:
return voto
elif voto in nombres:
if voto in lista_delegados:
return "BUCLE"
else:
i = nombres.index(voto)
lista_delegados.append(voto)
return calcula_voto(votos[i], lista_delegados)
else:
return "ERROR"
nombres = ['Ruben','Antonio','Luis','Pedro','Alvaro','Juan']
votos = ['Luis','NO','Ruben','Antonio','SI','Zapatero']
votantes = len(nombres)
# Preguntamos por los votos
opciones = ['SI','NO','BUCLE','ERROR']
resultados = [0,0,0,0]
for i in range(0,votantes):
voto = calcula_voto(votos[i], [])
resultados[opciones.index(voto)] += 1
# Imprimimos los resultados
print "------"
print "VOTOS"
print "------"
for i in range(0,votantes):
print nombres[i] + "->" + votos[i]
print "-----------"
print "RESULTADOS"
print "-----------"
for i in range(0,4):
print opciones[i] + ":" + str(resultados[i])