TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

A Pratica de Programação

Por:   •  2/11/2019  •  Trabalho acadêmico  •  3.160 Palavras (13 Páginas)  •  154 Visualizações

Página 1 de 13

Nome do(a) Aluno(a): MARIA IZABEL DA SILVA

Nome do(a) Tutor(a): ALESSANDRA GARCIA / EQUIPE DE APOIO

Disciplina: Pratica de Programação

Prof. Lucas Busatta Galhardi

MVC – MODEL

import json

class Prova:

   
def __init__(self, idd, nome, descricao):
       
self.idd = idd
       
self.nome = nome
       
self.descricao = descricao

   
def salvar_no_banco(self):

       lista_dicts = []
       lista = Prova.todas_provas()
       
for e in lista:
           lista_dicts.append(e.
__dict__)

       lista_dicts.append(
self.__dict__)
       data = {
'lista_provas': lista_dicts}

       
with open ('provas.json', 'w') as arq:
           json.dump(data, arq)

   
@classmethod
   
def ultimo_id(cls):
       
with open('provas.json', 'r') as arq:
           data = json.load(arq)
           provas = data [
'lista_provas']
           q =
len (provas)
           
return q

   
@classmethod
   
def de_dict_para_objeto(cls, lista_provas):
       nova_lista = []
       
for e in lista_provas:
           p = Prova(e[
'idd'], e['nome'], e['descricao'] )
           nova.lista_append(p)
       
return nova_lista

   
@classmethod
   
def todas_provas(cls):
       
with open('provas.json', 'r') as arq:
           data = json.load(arq)
           lista = data [
'lista_provas']
           
return Prova.de_dict_para_objeto(lista)

class Questao:

   
def __init__(self, idd, prova_id, enunciado, resposta_referencia, lista_conceitos):
       
self.idd = idd
       
self.prova_id = prova_id
       
self.enunciado = enunciado
       
self.resposta_referencia = resposta_referencia
       
self.lista_conceitos = lista_conceitos

       
@classmethod
       
def ultimo_id(cls):
           
with open('lista_questoes.json', 'r')as arq:
               data = json.load(arq)
               questoes = data[
'lista_questoes']
               q =
len(questoes)
               
return q

       
@classmethod
       
def de_dict_para_objeto(cls, lista_questoes):
           nova_lista = []
           
for e in lista_questoes:
               p:Questao (e[
'idd'], e['prova_id'], e['enunciado'], e['resposta_referencia'], e['lista_conceitos'])
               nova_lista.append(p)
               
return nova_lista

       
@classmethod
       
def todas_questoes (cls):
           
with open('questoes.json', 'r') as arq:
               data = json.load(arq)
               lista = data[
'lista_questoes']
               
return Questao.de_dict_para_objeto(lista)

       
@classmethod
       
def questoes_prova(cls, prova_id):
          questoes_da_prova = []
         
with open('questoes.json', 'r') as arq:
               data = json.load(arq)
               lista = data[
'lista_questoes']
               lista_questoes = Questao.de_dict_para_objeto(lista)
               
for q in lista_questoes:
                   
if q.prova_id == prova_id:
                       questoes_da_prova.append(q)
               
return questoes_da_prova

       
def salvar_no_banco(self):
           lista = Questao.todas_questoes()
           lista_dicts = []
           
for e in lista:
               lista_dicts.append(e.
__dict__)
               lista_dicts.append(self.
__dict__)
               data = {
'lista.questoes':lista_dicts}
               
with open('questoes.json', 'w')as arq:
                   json.dump(data, arq)

class Resposta:

   
def __init__(self, idd, prova_id, questao_id, texto):
       
self.idd = idd
       
self.prova_id = prova_id
       
self.questao_id = questao_id
       
self.texto = texto

       
@classmethod
       
def de_dict_para_objeto(cls, lista_respostas):
           nova_lista = []
           
for e in lista_respostas:
               p: Resposta (e[
'idd'], e['prova_id'], e['questao_id'], e['texto'])
               nova_lista.append(p)
               
return nova_lista

       
@classmethod
       
def todas_respostas(cls):
           
with open('respostas.json', 'r')as arq:
               data = json.load(arq)
               lista = data [
'lista_respostas']
               
return Questao.de_dict_para_objeto(lista)

       
@classmethod
       
def respostas_de_uma_prova(cls):
           respostas_de_uma_prova = []
           
with open('respostas.json', 'r')as arq:
               data = json.load(arq)
               lista = data [
'lista_respostas']
               lista_respostas = Resposta.de_dict_para_objeto(lista)
               
for r in lista_respostas:
                   
if r.respostas_de_uma_prova == respostas_de_uma_prova:
                       respostas_de_uma_prova.append(r)
                       
return respostas_de_uma_prova

       
def salvar_no_banco(self):
           lista = Resposta.todas_respostas()
           lista_dicts = []
           
for e in lista:
               lista_dicts.append(e.
__dict__)

               lista_dicts.append(self.
__dict__)
               data = {
'lista_respostas': lista_dicts}

               
with open('respostas.json', 'w')as arq:
                   json.dump(data, arq)

       
def atualizar_no_banco(self):
           lista = Resposta.todas_respostas()

           lista_dicts = []
           
for e in lista:
               
if e.idd != self.idd:
                   lista_dicts.append(e.
__dict__)

           lista_dicts.append(self.
__dict__)
           data = {
'lista_respostas': lista_dicts}

           
with open('respostas.json', 'w') as arq:
               json.dump(data, arq)

...

Baixar como (para membros premium)  txt (13.3 Kb)   pdf (333.5 Kb)   docx (146.2 Kb)  
Continuar por mais 12 páginas »
Disponível apenas no TrabalhosGratuitos.com