3
respostas

Erro no código da tarefa

>>> from datetime import date
>>> ano_como_string = raw_input()
ano = int(ano_como_string)
>>> ano_atual = date.today().year
>>> ano_atual - ano
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'ano' is not defined
>>>

Poxa toda hora da erro!! o que será que estou fazendo errado?

3 respostas

Oi, Catia! Tudo bem?

Olha, o problema que eu vejo é que você está colocando todo um bloco de código, que devia estar num editor de texto, direto no console do Python. Assim, logo depois da linha ano_como_string = raw_input() o console do Python espera que você passe o ano como string pro raw_input(). Dessa forma, a próxima linha que define a variável ano ano = int(ano_como_string) não está sendo executada, mas sim transformada como string e armazenada dentro da variável ano_como_string. Por isso que você está recebendo esse erro.

Arrumando isso vai dar tudo certo! Assim, ó:

>>> from datetime import date
>>> ano_como_string = raw_input()
1968
>>> ano = int(ano_como_string)
>>> ano_atual = date.today().year
>>> ano_atual - ano
50

Yan, mas essa é a instrução, foi solicitado para que fosse feito direto no terminal, não utilizando o Editor, e no manual do curso, ele está dando os passos e dizendo no final, que exatamente assim deu certo... entende?? Eu concordo com vc, achei estranho, e percebi que "ano" não estava de fato definido, mas material é que está dessa forma, não foi uma solicitação de exercício!

Realmente, Catia! Tem razão... Vou alterar lá pra ver se fica mais claro, ok? Obrigado pela observação! Sempre que encontrar algo assim, pode clicar naquele botãozinho Sugerir melhoria.

Abraços!

Edit: Alterado! :)