1
resposta

[Projeto] Eleição para a gerência

Em uma eleição para gerência em uma empresa com 20 pessoas colaboradoras, existem quatro candidatos(as). Escreva um programa que calcule o(a) vencedor(a) da eleição. A votação ocorreu da seguinte maneira:

  • Cada colaborador(a) votou em uma das quatro pessoas candidatas (que representamos pelos números 1, 2, 3 e 4).
  • Também foram contabilizados os votos nulos (representados pelo número 5) e os votos em branco (representados pelo número 6).
    Ao final da votação, o programa deve exibir o número total de votos para cada candidato(a), os nulos e os votos em branco. Além disso, deve calcular e exibir a porcentagem de votos nulos em relação ao total de votos e a porcentagem de votos em branco em relação ao total de votos.
from collections import Counter

lista_de_votos = []
quantidade_colaboradores = 5

def exibirMenu():
  voto = 0

  print('\nEleição para gerência da empresa\n')
  print('1 - Candidato A')
  print('2 - Candidato B')
  print('3 - Candidato C')
  print('4 - Candidato D')
  print('5 - Nulo')
  print('6 - Em branco')

  voto = int(input('\nInforme o seu voto: '))
  return voto

for _ in range(quantidade_colaboradores):
  quantidade_votos = exibirMenu()
  lista_de_votos.append(quantidade_votos)

votos = {
    1: 0,
    2: 0,
    3: 0,
    4: 0,
    5: 0,
    6: 0
}

contagem_votos = Counter(lista_de_votos)
votos.update(contagem_votos)

tamanho_lista = len(lista_de_votos)
percentuais = {}

for chave, valor in votos.items():
  percentuais[chave] = (valor/tamanho_lista) * 100

candidato_vencedor = max(percentuais, key=percentuais.get)
percentual = percentuais[candidato_vencedor]

print(f'\nTotal de votos: {votos}\n')
print(f'Percentual de votos: {percentuais}')
print(f'O candidato {candidato_vencedor} venceu com {percentual}% dos votos')
1 resposta

Olá, Sara! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso da biblioteca Counter para realizar a contagem dos votos, utilizou muito bem o dicionário para organizar os resultados e ainda compreendeu a importância do cálculo percentual para determinar o candidato vencedor.

Uma dica interessante para o futuro é formatar os percentuais com duas casas decimais para deixar a saída mais clara. Assim:

for chave, valor in votos.items():
    percentuais[chave] = round((valor/tamanho_lista) * 100, 2)

Isso faz com que os resultados fiquem mais legíveis e próximos de uma aplicação real de eleição.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

AluraConte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!