Oi Alvaro,
Muito obrigado por perguntar!
Isso quer disser que minha estrutura não esta de acordo com que o avaliador quer?
Não. Isso significa que o programa está errado. No caso, o erro é 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