Mundo em Python

Método de D'Hondt

def distribuir_vagas(votos, vagas):
partidos = list(votos.keys())
vagas_distribuidas = {partido: 0 for partido in partidos} for _ in range(vagas):
quocientes = {partido: votos[partido] / (vagas_distribuidas[partido] + 1) for partido in partidos}
partido_vencedor = max(quocientes, key=quocientes.get)
vagas_distribuidas[partido_vencedor] += 1

return vagas_distribuidas
resultado = {}
contar = 1
n_partidos = int(input("Digite o número de Partidos: "))
while contar<= n_partidos:
nome_partido = input("O Nome do Partido: ")
n_votos = int(input("Digite o número de votos: "))
resultado[nome_partido] = n_votos
contar = contar+1
print("\n")
vagas = int(input("Digite o número de vagas: "))
print("\n")
resultado_final = distribuir_vagas(resultado, vagas)
for partido, vagas_obtidas in sorted(resultado_final.items(), key=lambda x: x[1], reverse=True):
print(partido, ":", vagas_obtidas
0