Salve,
Uma mensagem como
Parece que minha_funcao()
explodiu 8-O
emitida pelo avaliador
indica que a função minha_funcao()
tem algum problema.
No caso, o problema é daqueles que mostram mensagens vermelhas no Python Shell e a execução do programa é encerrada.
Mas como isso é possível se o programa/função passou nos testes do enunciado?
Bem, vejam o programa que fiz para verificar se um número é primo.
Vejam que ele funciona para a maioria dos números. Passa em vários testes, mas está errado e, em uma situação especifica, explode:
def main(): n = int(input("Digite um inteiro positivo: ")) if n != 2 and n % 2 == 0: print(n, "não é primo.") # resposta certa elif n == 3: print(x, "não é primo") # explode else: print(n, "é primo") # resposta as vezes errada e as vezes certa # a maioria das vezes errada, mas isso fica # por conta do Teorema do Primos. if __name__ == "__main__": main() Digite um inteiro positivo: 2 2 é primo Digite um inteiro positivo: 6 6 não é primo. Digite um inteiro positivo: 10 10 não é primo. Digite um inteiro positivo: 5 5 é primo Digite um inteiro positivo: 7 7 é primo Digite um inteiro positivo: 15 15 é primo Digite um inteiro positivo: 3 Traceback (most recent call last): File "primos.py", line 13, in <module> main() File "primos.py", line 6, in main print(x, "não é primo") # explode NameError: name 'x' is not defined