Baixe o app para aproveitar ainda mais
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
Compartilhar