A Pratica de Programação
Por: Maria da Silva • 2/11/2019 • Trabalho acadêmico • 3.160 Palavras (13 Páginas) • 154 Visualizações
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)
...