Buscar

TrabalhoPython_Eliezer

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 7 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1 
 
 
 
 
 
 
 
UNIVERSIDADE ESTÁCIO DE SÁ 
Pós-graduação em Big Data e Ciência de Dados 
 
 
Software de Python 
 
Eliezer de Souza Batista Junior 
 
 
 
Trabalho da disciplina Python 
 Tutor: Prof. André Luiz Braga 
 
 
Rio de Janeiro - RJ 
2020 
http://portal.estacio.br/
 
 
 
2 
 
Pedido 
 
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. 
 
2 DESENVOLVIMENTO 
2.1 O CÓDIGO 
#!/usr/bin/env python 
# -*- coding: utf-8 -*- 
 
import pickle 
import os 
 
arquivo = open('file.db', 'wb') 
for i in range(10): 
 pickle.dump(i, arquivo) 
arquivo.close( ) 
print ('Arquivo criado com sucesso') 
 
db = {} 
 
def mostrar_menu(): 
 os.system('cls') 
 print('Existe(m) '+ str(len(db)) + ' candidatos registrados\n\n') 
 print('Escolha a opção') 
 print('1 - Incluir candidato') 
 print('2 - Consultar candidato') 
 print('3 - Modificar candidato') 
 print('4 - Excluir candidato') 
 print('5 - Listar todos os dados dos candidatos') 
 print('6 - Listar votos por candidatos') 
 print('7 - Listar votos por região') 
 print('8 - Sair') 
 
 
 
3 
 return int(input('')) 
 
def existe_registro(codigo): 
 duplicated = False 
 if codigo in db.keys(): 
 duplicated = True 
 return duplicated 
 
def inserir(): 
 candidato = {} 
 codigo = input('Digite o código do candidato\n') 
 if existe_registro(codigo): 
 print('Já existe um candidato cadastrado com este código, digite outro') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 else: 
 candidato['cod_candidato'] = codigo 
 candidato['nome'] = input('Digite o nome do candidato\n') 
 candidato['cargo'] = input('Digite o cargo do candidato\n') 
 candidato['regiao'] = input('Digite a região do candidato\n') 
 candidato['num_votos'] = int(input('Digite a quantidade de votos do 
candidato\n')) 
 db[codigo] = candidato 
 principal() 
 
def mostrar(codigo): 
 print('Código: ' + db[codigo]['cod_candidato']) 
 print('Nome: ' + db[codigo]['nome']) 
 print('Cargo: ' + db[codigo]['cargo']) 
 print('Região: ' + db[codigo]['regiao']) 
 print('Número de votos: ' + str(db[codigo]['num_votos'])) 
 
def mostrarVotosCandidatos(codigo): 
 print('Nome: ' + db[codigo]['nome']) 
 print('Número de votos: ' + str(db[codigo]['num_votos'])) 
 
def mostrarVotosRegiao(codigo): 
 print('Regiao: ' + db[codigo]['regiao']) 
 print('Número de votos: ' + str(db[codigo]['num_votos'])) 
 
 
def listar(): 
 codigo = input('Digite o codigo do candidato\n') 
 if existe_registro(codigo): 
 mostrar(codigo) 
 frase = input('pressione para voltar ao menu\n') 
 
 
 
4 
 principal() 
 else: 
 print('Registro não encontrado') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 
def modificar(): 
 candidato = {} 
 codigo = input('Digite o código do candidato\n') 
 if existe_registro(codigo): 
 candidato['codigo'] = codigo 
 candidato['nome'] = input('Digite o nome do candidato\n') 
 candidato['cargo'] = input('Digite o cargo do candidato\n') 
 candidato['regiao'] = input('Digite a região do candidato\n') 
 candidato['num_votos'] = int(input('Digite a quantidade de votos\n')) 
 db[codigo] = candidato 
 principal() 
 else: 
 print('Registro não encontrado') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 
def remover(): 
 codigo = input('Digite o código do candidato\n') 
 
 if existe_registro(codigo): 
 del(db[codigo]) 
 print('Registro apagado com sucesso') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 else: 
 print('Registro não encontrado') 
 trash = input('pressione para voltar ao menu\n') 
 principal() 
 
def list(): 
 if len(db) > 0: 
 for codigo in db.keys(): 
 mostrar(codigo) 
 print('-'*10) 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 else: 
 print('Não há registros para serem exibidos') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 
 
 
5 
 
def votosCandidato(): 
 if len(db) > 0: 
 for codigo in db.keys(): 
 mostrarVotosCandidatos(codigo) 
 print('-'*10) 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 else: 
 print('Não há registros para serem exibidos') 
 frase = input('pressione para voltar ao menu\n') 
 principal() 
 
def votosRegiao(): 
 regioes = dict() 
 for candidato in db.values(): 
 regioes[candidato['regiao']] = regioes.get(candidato['regiao'], 0) + 
candidato['num_votos'] 
 print('Total de votos por região:' + str(regioes)) 
 input('pressione para voltar ao menu\n') 
 principal() 
 
def principal(): 
 option = mostrar_menu() 
 if(option == 1): 
 inserir() 
 elif(option == 2): 
 listar() 
 elif(option == 3): 
 modificar() 
 elif(option == 4): 
 remover() 
 elif(option == 5): 
 list() 
 elif(option == 6): 
 votosCandidato() 
 elif(option == 7): 
 votosRegiao() 
 elif(option == 8): 
 print('Saindo do programa') 
 exit() 
 else: 
 print('Instrução não reconhecida, tente outra opção') 
 principal() 
principal() 
 
 
 
 
6 
2.2 O CENÁRIO 
 O cenário do teste foi realizado no Sistema Operacional Linux MINT 19.1. O 
software utilizado para rodar o código foi o python3. 
 
3 RESULTADO 
 O software rodou todas as configurações solicitadas, conforme se pode ver 
nas telas abaixo: 
 - Inserção de código, nome, cargo, região e número de votos: 
 
 - Listar votos por região: 
 
 - Listar votos por candidato 
 
 
 
 
7 
 - Listar todos os candidatos com seus dados

Continue navegando