0
respostas

Resolução do desafio: hora da prática IV - Estruturas de repetição part III

https://cursos.alura.com.br/course/python-data-science-primeiros-passos/task/123756

'''9) 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.'''
votacao = [1, 2, 3, 4, 5, 6]
candidato1 = candidato2 = candidato3 = candidato4 = nulo = branco = 0
i = 0

print('-----------OPÇÕES----------')
print('---------------------------')
print('-> Candidatos: 1, 2, 3, 4')
print('-> Nulo: 5')
print('-> Branco: 6')
print('---------------------------')

while i < 20:
    voto = int(input('Informe seu voto: '))

    if voto not in votacao:
        print('Opção inválida, digite novamente: ')
        continue

    if voto == 1:
        candidato1 += 1
    elif voto == 2:
        candidato2 += 1
    elif voto == 3:
        candidato3 += 1
    elif voto == 4:
        candidato4 += 1
    elif voto == 5:
        nulo += 1
    elif voto == 6:
        branco += 1

    i += 1

# verificação do mais votado
maisVotado = candidato1
vencedor = 1

if candidato2 > maisVotado:
    maisVotado = candidato2
    vencedor = 2
if candidato3 > maisVotado:
    maisVotado = candidato3
    vencedor = 3
if candidato4 > maisVotado:
    maisVotado = candidato4
    vencedor = 4

# verificando empate
empates = 0

if candidato1 == maisVotado:
    empates += 1
if candidato2 == maisVotado:
    empates += 1
if candidato3 == maisVotado:
    empates += 1
if candidato4 == maisVotado:
    empates += 1

totalVotos = candidato1 + candidato2 + candidato3 + candidato4 + nulo + branco
percentNulos = (nulo / totalVotos) * 100
percentBrancos = (branco / totalVotos) * 100

print('RESULTADO FINAL:\n')
if empates > 1:
    print('Houve empate')
else:
    print(f'VENCEDOR: Candidato {vencedor}')

print(f'PONTUAÇÂO')
print(f'Candidato 1: {candidato1} votos')
print(f'Candidato 2: {candidato2} votos')
print(f'Candidato 3: {candidato3} votos')
print(f'Candidato 4: {candidato4} votos\n')
print(f'Total: {totalVotos} votos')
print(f'Nulos: {nulo} votos = {percentNulos:.2f}%')
print(f'Brancos: {branco} votos = {percentBrancos:.2f}%')

# -----------OPÇÕES----------
# ---------------------------
# -> Candidatos: 1, 2, 3, 4
# -> Nulo: 5
# -> Branco: 6
# ---------------------------
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 1
# Informe seu voto: 2
# Informe seu voto: 2
# Informe seu voto: 2
# Informe seu voto: 2
# Informe seu voto: 3
# Informe seu voto: 3
# Informe seu voto: 4
# Informe seu voto: 5
# Informe seu voto: 5
# Informe seu voto: 6
# Informe seu voto: 6
# Informe seu voto: 2

# RESULTADO FINAL:
# VENCEDOR: Candidato 1

# PONTUAÇÂO
# Candidato 1: 8 votos
# Candidato 2: 5 votos
# Candidato 3: 2 votos
# Candidato 4: 1 votos

# Total: 20 votos
# Nulos: 2 votos = 10.00%
# Brancos: 2 votos = 10.00%