Inicializa os contadores de votos
votos = {
1: 0, # Candidato(a) 1
2: 0, # Candidato(a) 2
3: 0, # Candidato(a) 3
4: 0, # Candidato(a) 4
5: 0, # Voto nulo
6: 0 # Voto em branco
}
Coleta os votos dos 20 colaboradores
for i in range(1, 21):
while True:
try:
voto = int(input(f'Colaborador(a) {i}, digite seu voto (1 a 6): '))
if 1 <= voto <= 6:
votos[voto] += 1
break
else:
print('Voto inválido. Digite um número entre 1 e 6.')
except ValueError:
print('Entrada inválida. Digite um número inteiro.')
Exibe a contagem de votos
print('\nResultado da eleição:')
for candidato in range(1, 5):
print(f'Candidato(a) {candidato}: {votos[candidato]} voto(s)')
print(f'Votos nulos: {votos[5]}')
print(f'Votos em branco: {votos[6]}')
Calcula porcentagens
total_votos = sum(votos.values())
porcentagem_nulos = (votos[5] / total_votos) * 100
porcentagem_brancos = (votos[6] / total_votos) * 100
print(f'\nPorcentagem de votos nulos: {porcentagem_nulos:.2f}%')
print(f'Porcentagem de votos em branco: {porcentagem_brancos:.2f}%')
Determina o vencedor
votos_validos = {k: v for k, v in votos.items() if k in [1, 2, 3, 4]}
maior_voto = max(votos_validos.values())
vencedores = [k for k, v in votos_validos.items() if v == maior_voto]
if len(vencedores) == 1:
print(f'\nO(a) vencedor(a) da eleição é o(a) candidato(a) {vencedores[0]}.')
else:
print('\nA eleição terminou em empate entre os seguintes candidatos(as):')
for v in vencedores:
print(f'Candidato(a) {v}')