1
resposta

Erro 0x04827BB0

Respondendo o exercício 5 da aula 5, criei a função abaixo e quando executo a mesma recebo o código de erro, o qual não recebi resposta nem no Google quando pesquisei por ele.

>>> def ano_inteiro():
...     print "Digite o ano em que nasceu:"
...     ano_como_string = raw_imput()
...     ano_como_int = int(ano_como_string)
...     idade_atual = 2018 - ano_como_int
...     print "Sua idade atual é %s" %(idade_atual)
...
>>> ano_inteiro
<function ano_inteiro at 0x04827BB0>
>>>
1 resposta

Oi, Thiago! Então, esse 0x04827BB0, na verdade, não é um código de erro, mas o identificador de sua função na memória em hexadecimal. Se você fizesse isso, por exemplo:

id(ano_inteiro) == int(0x04827BB0)

retornaria True :).

Isso acontece porque você não está chamando a função. Quando você só coloca o nome dela (ou de qualquer outra variável) no console Python, o método __repr__ dessa variável será chamado e, no caso da função, esse método retorna a identificação dela na memória.

Para chamar uma função, você precisa colocar um abrir e fechar de parênteses (()) depois do nome dela, dessa forma:

ano_inteiro()

E vai dar tudo certo!

Só mais um comentário; você acabou digitando errado a parte do raw_input(), repare que você escreveu com m raw_imput em vez de raw_input, o que acabaria dando um NameError se você não consertasse.

Abraços e bons estudos!