STV投票方法
项目描述
执行STV投票计算的库。该软件包是在VoteIT项目的一部分创建的,专门用于处理难以用Markus Schulze的STV方法计算的较大选举。
典型用法是初选或从众多候选人中选出许多胜者的选举。结果将是比例的。
完全支持
苏格兰STV
即时决选投票(IRV)
大部分功能正常
CPO STV(如果结果太多则不会优雅地失败)
示例
案例来源:https://en.wikipedia.org/wiki/Single_transferable_vote
from stvpoll.scottish_stv import ScottishSTV
example_ballots = (
(['orange'], 4),
(['pear', 'orange'], 2),
(['chocolate', 'strawberry'], 8),
(['chocolate', 'bonbon'], 4),
(['strawberry'], 1),
(['bonbon'], 1),
)
poll = ScottishSTV(seats=3, candidates=['orange', 'chocolate', 'pear', 'strawberry', 'bonbon'])
for (candidates, count) in example_ballots:
poll.add_ballot(candidates, count)
result = poll.calculate()
这将返回一个包含结果和一些有用元数据的ElectionResult对象。elected属性包含当选候选人。
左边的候选人优先级更高,因此:[‘pear’,‘orange’]表示‘pear’在‘orange’之前等。数字表示这种类型选票的数量。
result.elected_as_tuple()
('chocolate', 'orange', 'strawberry')
代码 & 贡献
您可以在以下位置fork代码:https://github.com/VoteIT/STVPoll
请将任何错误报告到那里,或发送电子邮件至info@voteit.se
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪一个,请了解有关安装包的更多信息。
源分发
STVPoll-0.4.5.tar.gz (11.5 kB 查看哈希值)
构建分发
STVPoll-0.4.5-py3-none-any.whl (17.3 kB 查看哈希值)
关闭
STVPoll-0.4.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6464d05759e423315b040d3cc020a9ccf8e9b33df371a606bc0eb4e746b8d00e |
|
MD5 | dbcdc5135b882ebdf967ae68c4ab1532 |
|
BLAKE2b-256 | 08a458a3c48572ee38f236170488ed41bf1810b9093bba9190c7e8159a8d9e65 |
关闭
STVPoll-0.4.5-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | aa276574b422173abf331f1c70ea4db998f392dfe8fdb62205bddf2d0cbf22a3 |
|
MD5 | ffdcd70b32e6331f9be23e8e81ead306 |
|
BLAKE2b-256 | 6d2bcaba268e498c4aea608bff21ccf674a0983bff92d38dd9413837fc40a9aa |