def cadastroNota(self): alunos = Aluno() dataProva = Prova().getOnlyData(Form().pesquisaProva(' não realizada', "\nErro: Pesquise por uma prova da lista e que não foi realizada ainda.")) print('\n\n\n##############################################################################################') print("{:>30} {}".format(' ', ' INFORMAÇÕES SOBRE A PROVA ')) print('\n{:>30} {}'.format(' ', "Prova de {} valendo {} pontos:".format(dataProva[1].nome, dataProva[0].pontos))) for aluno in alunos.objects: nota = Form().inputFloat('\n\n{:>30} {}'.format(' ', 'Digite a nota de {}: '.format(aluno.nome)), '\nErro: A nota deve ser um número (casas decimais devem separadas por .)', dataProva[0].pontos, 'Erro: Digite um número maior ou igual a 0 e menor ou igual a {}.'.format(dataProva[0].pontos)) Nota().save(dataProva[0].id, aluno.matricula, nota) #Atualiza o status da prova pra "Realizada" Prova().atualizaStatus(dataProva[0].id)
def cadastroProva(self): Disciplina().all(Prova().objects) idsDisciplina = Disciplina().ids('Pontos Disponível', Prova().objects) print('\n\n\n##############################################################################################') print("{:>30} {}".format(' ', ' CADASTRO DE PROVAS ')) self.disciplina = Form().inputInt('\n------------- Digite o ID da disciplina conforme a lista acima: ', '\nErro: O ID da disciplina deve ser um número presente na lista acima.', idsDisciplina, '\nErro: Digite o ID de uma disciplina com notas a distribuir cisponível') disciplina = Disciplina().getData(self.disciplina) pontuacaoRestante = disciplina.notaTotal - Disciplina().calcNotasDistribuidas(Prova().objects, self.disciplina, "todos") self.pontos = Form().inputFloat('------------- Digite a quantidade de pontos que vale a prova: ', '\nErro: Os pontos da prova deve ser um número (casas decimais deve separados por . e não por , ).', pontuacaoRestante, '\nErro: Valor máximo de pontos deve ser menor ou igual a {} pontos.\n'.format(pontuacaoRestante)) return self
def __init__(self): if(len(Aluno().objects) == 0): Aluno().save('João', 12) Aluno().save('Maria', 11) Aluno().save('Gabriela', 14) if(len(Disciplina().objects) == 0): Disciplina().save('Matemática') Disciplina().save('Português') Disciplina().save('História') if(len(Prova().objects) == 0): Prova().save(1, 10.0) Prova().save(2, 10.0) Prova().save(3, 15.0)
def menu(self): opcao = Form().menu() if (opcao == "1-1"): p = Form().cadastroAluno() Aluno().save(p.nome, p.idade) if (opcao == "1-2"): d = Form().cadastroDisciplina() Disciplina().save(d.nome) if (opcao == "1-3"): d = Form().cadastroProva() Prova().save(d.disciplina, d.pontos) if (opcao == "1-4"): d = Form().cadastroNota() if (opcao == "2-1"): Aluno().all() if (opcao == "2-2"): Disciplina().all(Prova().objects) if (opcao == "2-3"): Prova().all() if (opcao == "3-1"): Aluno().get(Form().pesquisaAluno(), Prova(), Disciplina().objects) if (opcao == "3-2"): Disciplina().get(Form().pesquisaDisciplina(Prova().objects), Prova()) if (opcao == "3-3"): Prova().get(Form().pesquisaProva()) if (opcao == "9"): clear = lambda: os.system('clear') clear() if (opcao != "x" and opcao != "X"): app.menu()
from aluno import Aluno from prova import Prova from responsavel import Responsavel if __name__ == '__main__': responsavel = Responsavel(idade=39, rg='345666') prova1 = Prova(id=1, materia='Matematica', conceito=9.5) prova2 = Prova(id=2, materia='Geometria', conceito=4.5) weslley = Aluno(idade=17, responsavel=responsavel, provas=[prova1, prova2]) print(weslley) print(weslley.get_media_notas())
def test_entrar_qa_string_vazia(capsys): minhaProva = Prova("") minhaProva.vouEntrarQA() out, err = capsys.readouterr() assert out == 'Imprime Vou entrar no QA caso o valor do elemento seja 1\n'
def test_valor_inferior_string_vazia(capsys): minhaProva = Prova("") minhaProva.inferior(6000) out, err = capsys.readouterr() assert out == 'Apenas os elementos com valor inferior a 6000\n'
def test_valor_inferior_0(capsys): minhaProva = Prova(string_com_elementos) minhaProva.inferior(1000) out, err = capsys.readouterr() assert out == 'Apenas os elementos com valor inferior a 1000\n2 0001\n'
def test_ordem_string_vazia(capsys): minhaProva = Prova("") minhaProva.ordenar() out, err = capsys.readouterr() assert out == 'Elementos em ordem crescente de índice.\n'
def test_ordem(capsys): minhaProva = Prova(string_com_elementos) minhaProva.ordenar() out, err = capsys.readouterr() assert out == 'Elementos em ordem crescente de índice.\n1 5423\n2 0001\n3 9999\n'
#!/usr/bin/python3 from prova import Prova minhaProva = Prova( "ifaio=ejpo.fevento1=54231fofsnofsfpifp=ifnevento10=1212asdas.5555oasdsonf.sevento3=9999kfspnofsp.nevento8=isdpifsd=evento2=0001.fjifsdsvs.=" ) minhaProva.ordenar() minhaProva.inferior(3000) minhaProva.vouEntrarQA()
def pesquisaProva(self, options = 'todos', otherError = None): Prova().all() idsProva = Prova().ids(options) return Form().inputInt('\n{:>20} {}'.format(' ', 'Digite o ID da prova conforme a lista acima: '), '\nErro: O ID da prova deve ser um numero presente na lista acima.', idsProva, otherError)