Prévia do material em texto
1
UNIVERSIDADE ESTÁCIO DE SÁ
PÓS-GRADUAÇÃO EM CIÊNCIA DE DADOS E BIG DATA
ANALYTICS
Software Python
Bianca Carvalho da Silva
Trabalho da disciplina Linguagem Python 2.7
Tutor: Prof. Andre Luiz Braga
Niterói/RJ
2020
http://portal.estacio.br/
2
LINGUAGEM PYTHON 2.7
Faça um programa que permita ao usuário a manipulação de um arquivo
binário para criação de um pequeno controle de votos de uma eleição, utilizando os
seguintes campos: cod_candidato, nome, cargo, regiao, num_votos. em seguida, o
usuário deverá ser capaz de inserir no arquivo os dados de cada candidato e depois
listar todos cadidatos, votos por candidatos, total por candidato e por regiao.
DESENVOLVIMENTO
# -*- coding: utf-8 -*-
import os
import pickle
arquivo = open('file.txt', 'wb+')
for i in range(10):
pickle.dump(i, arquivo)
arquivo.close()
print('ARQUIVO CRIADO COM SUCESSO')
txt = {}
def mostrar_menu():
os.system('')
print('-' * 30)
print('CADASTRO DE CANDIDATOS')
3
print('-' * 30 )
print('\n\033[31m1\033[m -\033[34m CADASTRAR CANDIDATO\033[m')
print('\033[31m2\033[m -\033[34m LISTAR CANDIDATOS\033[m')
print('\033[31m3\033[m -\033[34m LISTAR VOTOS POR
CANDIDATOS\033[m')
print('\033[31m4\033[m -\033[34m LISTAR VOTOS POR REGIÃO\033[m')
print('\033[31m5\033[m -\033[34m SAIR DO SISTEMA\033[m')
return int(input('\033[32mDIGITE UMA OPÇÃO:\033[m'))
def verificar_registro(codigo):
duplicated = False
if codigo in txt.keys():
duplicated = True
return duplicated
def inserir():
candidato = {}
codigo = input('DIGITE O CÓDIGO DO CANDIDATO:\n')
if verificar_registro(codigo):
print('Já existe um cadastro com esse código, digite outro')
frase = input('PRESSIONE PARA VOLTAR AO MENU \n')
menu()
else:
candidato['cod_candidato'] = codigo
candidato['nome'] = input('DIGITE O NOME DO CANDIDATO:\n')
candidato['cargo'] = input('DIGITE O CARGO DO CANDIDADTO\n')
candidato['regiao'] = input('DIGITE A REGIÃO DO CANDIDATO\n')
candidato['num_votos'] = int(input('DIGITE A QUANTIDADE DE
VOTOS\n'))
4
txt[codigo] = candidato
menu()
def mostrar(codigo):
print('CÓDIGO: ' + txt[codigo]['cod_candidato'])
print('NOME DO CANDIDATO: ' + txt[codigo]['nome'])
print('CARGO: ' + txt[codigo]['cargo'])
print('REGIAO DO CANDIDATO: ' + txt[codigo]['regiao'])
print('NÚMERO DE VOTOS: ' + str(txt[codigo]['num_votos']))
def mostrarVotosCandidatos(codigo):
print('NOME: ' + txt[codigo]['nome'])
print('TOTAL DE VOTOS: ' + str(txt[codigo]['num_votos']))
def mostrarVotosRegiao(codigo):
print('REGIÃO: ' + txt[codigo]['regiao'])
print('NNÚMERO DE VOTOS: ' + str(txt[codigo]['num_votos']))
def listar():
print('-' * 30)
print('\033[32mCANDIDATOS CADASTRADOS\033[m')
print('-' * 30)
if len(txt) > 0:
for codigo in txt.keys():
mostrar(codigo)
print('-'*30)
frase = input('pressione para retornar ao menu \n')
5
menu()
else:
print('Não há registros ')
frase = input('pressione para retornar ao menu \n')
menu()
def votosCandidato():
if len(txt) > 0:
for codigo in txt.keys():
mostrarVotosCandidatos(codigo)
print('-'*30)
frase = input('pressione para retornar ao menu\n')
menu()
else:
print('Não há registros')
frase = input('pressione para retornar ao menu\n')
menu()
def votosRegiao():
regioes = dict()
for candidato in txt.values():
regioes[candidato['regiao']] = regioes.get(
candidato['regiao'], 0) + candidato['num_votos']
print('TOTAL DE VOTOS POR REGIÃO:\n' + str(regioes))
input('pressione para voltar ao menu\n ')
menu()
def menu():
6
option = mostrar_menu()
if(option == 1):
inserir()
elif(option == 2):
listar()
elif(option == 3):
votosCandidato()
elif(option == 4):
votosRegiao()
elif(option == 5):
print('SAINDO DO PROGRAMA OBRIGADA!')
exit()
else:
print('OPÇÃO INVÁLIDA TENTE NOVAMENTE')
menu()
menu()
7
Informações exibidas após executar o código
Cadastrar candidato
8
Listar candidatos
9
Listar votos por candidatos
Listar votos por região