Code Monkey home page Code Monkey logo

dhondt's Introduction

Clase de Python para realizar el cálculo de la ley d'Hondt

autor:Pedro-Juan Ferrer
autor:Silvia Fuentes
fecha:2019-05-27
Version: v1.1.1

Realiza el cálculo de distribución de escaños dada un reparto de votos.

Por ejemplo:

$ python dhondt.py 21 3.0 "{'a': 100, 'b': 200, 'c': 50}"

nos devuelve:

<dhondt nseats:21 minper:3.0 candi:[('b', 200), ('a', 100), ('c', 50)]>
<seats: [('b', 12), ('a', 6), ('c', 3)]>

FAQ

¿Por qué el partido j aparece con resultado 0?

Ejemplo:

$ python dhondt.py 15 3.0 "{'a': 33553, 'b': 8711, 'd': 9191, 'e': 50825, 'f': 8938, 'g': 9269, 'h': 8617, 'i': 8688, 'j': 11888, 'k': 8738, 'l': 78991, 'o': 75702, 'p': 8741, 'q': 8788, 'r': 43516}"

<dhondt nseats:15 minper:3.0 candi:[('l', 78991), ('o', 75702), ('e', 50825), ('r', 43516), ('a', 33553), ('j', 11888), ('g', 9269), ('d', 9191), ('f', 8938), ('q', 8788), ('p', 8741), ('k', 8738), ('b', 8711), ('i', 8688), ('h', 8617)]>
<seats: [('l', 4), ('o', 4), ('e', 3), ('a', 2), ('r', 2), ('j', 0)]>

El partido j tiene votos que le permiten superar el porcentaje mínimo para entrar en el reparto, pero no tiene suficientes como para que le asigne un escaño.

Control de versiones

v1.1.1:Quitados requisitos innecesarios
v1.1:Arreglado bug que impide realizar cálculos cuando solo hay 1 sitio. Agregada opción para tener en cuenta votos en blanco
v1.0:Versión inicial

dhondt's People

Contributors

vehrka avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.