Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

4
respostas

TypeError: 'int' is not callable

Boa noite,

Estou na aula Python para dados e não consigo corrigir o erro da tarefa. Poderiam me ajudar?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

4 respostas

Olá, Daniela, como vai?

Esse comportamento acontece quando o nome de uma função nativa do Python é utilizado acidentalmente como o nome de uma variável em alguma célula anterior do código. Por exemplo, se você executou algo como int = 10, o Python substitui a função por um número inteiro. Quando você tenta usar a função novamente para converter a entrada do usuário, o sistema tenta chamar esse número como se fosse uma função, gerando a falha exibida na imagem.

Para que eu possa analisar detalhadamente o cenário e identificar exatamente onde essa substituição ocorreu, você poderia compartilhar o link do seu notebook comigo. Certifique-se de liberar o acesso para visualização pública antes de enviar o endereço por aqui. Dessa forma, conseguiremos examinar toda a estrutura do desenvolvimento de forma precisa.

Fico no aguardo e a disposição :)

Olá Maike tudo bem?

Nesse caso seria o espaçamento na hora de escrever a linha?

O erro não foi causado pelo código, mas pela interrupção da execução, fazendo que que acidentalmente ele procure o nome de uma variável. Utilizamos a boa prática na hora de escrever o código?

ano_entrada = int (input('Escreva o ano de ingresso do(a) estudante: '))

Olá, Gustavo, como vai?

Você está se referindo ao espaço entre int e (input)? Se for esse o ponto, esse espaço não influencia a execução do código.

Em algum momento anterior da execução do notebook, o nome int provavelmente foi utilizado como variável. A partir desse momento, o Python deixa de enxergar int como a função nativa de conversão e passa a tratá-lo como um número. Quando o código tenta executar int(input(...)), ocorre a mensagem de erro porque um número não pode ser chamado como função.

Como o notebook mantém o estado entre as células, essa redefinição continua valendo até que a variável seja removida e o ambiente seja reiniciado.

No gif abaixo mostro o mesmo comportamento acontecendo:

Trecho de código Python que solicita ao usuário o ano de ingresso e demonstra que a presença de um espaço entre `int` e `(input)` não altera a execução

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Entendi.

Muito Obrigado!