EP08-Avaliador

Re: EP08-Avaliador

por José Coelho de Pina -
Número de respostas: 0

Olá Caroline,

gostaria de saber qual o problema que poderia ter acometido meu avaliador...

Muito obrigado por sua pergunta!
Essa dúvida deve ajudar a outros e outras que venham a ter o mesmo problema.

Quando o programa avaliador apresenta apenas a mensagem

   minha_funcao(): iniciando avaliação dos testes (vale x pontos)

e não apresenta a mensagem

   minha_funcao(): avaliação encerrada...

Isso indica que a avaliação da minha_funcao() não pôde ser concluída.
A razão da avaliação não ter sido concluída é muito provavelmente devido a um loop infinito na função.
Algo como, por exemplo,

#----------------------
def minha_funcao( n ):
    '''(int) -> None

    Recebe um inteiro n e imprime os n primeiros números
    ímpares positivos.
    '''
    i = 0
    while i < n:
       print(2*i+1)
       i =+ 1

Nesse caso, devo olhar minha_funcao(), e caso não perceba rapidamente o problema,
colocar alguns print() em lugares estratégico para verificar a razão do loop infinito.
No exemplo acima eu poderia fazer algo como

#----------------------
def minha_funcao( n ):
    '''(int) -> None

    Recebe um inteiro n e imprime os n primeiros números
    ímpares positivos.
    '''
    i = 0
    while i < n:
       print(2*i+1)
       i =+ 1
       print("i =", i, "n =", n) # procurando o erro
       

Bem, voltando ao EP08 ...
Como o avaliador escreveu

    experimento_debug(): iniciando avaliação dos testes (vale 3 ponto(s))

e não escreveu que a avaliação da função foi encerrada, isso indica que é
possível que a função experimento() esteja em loop infinito.
Para testar essa hipótese de loop infinito pedimos a ajuda do Python Shell. sorriso
Por favor, no Python Shell, escreva

   In [6]: experimento(2, 1, True)

e veja o que acontece.