Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Coletas de Dados

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

1 resposta
solução!

Olá, Yonara. Como vai?

Seja muito bem-vinda ao fórum! É excelente ver você compartilhando os seus primeiros passos no Python. Investigar os erros que acontecem durante o desenvolvimento é a marca registrada de uma futura Cientista de Dados de sucesso.

O seu print traz um verdadeiro "estudo de caso" sobre como funcionam os ambientes interativos como o Jupyter Notebook ou o Google Colab. Note que você rodou exatamente o mesmo código duas vezes: na primeira tentativa ele estourou um erro de tipo, e na segunda tentativa ele funcionou perfeitamente.

Vamos analisar juntas o que aconteceu nos bastidores do Python para entender a causa desse mistério!


Desvendando o TypeError: 'tuple' object is not callable

Esse é um dos erros mais clássicos e confusos para quem está começando. A mensagem diz que um objeto do tipo "tupla" foi chamado como se fosse uma função. Mas olhando para o seu código da primeira célula, tudo parece correto:

nota_entrada = float(input('Digite a nota do teste de ingresso: '))
print(f'Ano de entrada {ano_entrada} - nota do teste de ingresso {nota_entrada}')

O que aconteceu por trás dos panos?
Em ambientes de notebook, o Python guarda na memória o estado de todas as células que você executou anteriormente. O erro 'tuple' object is not callable na linha do print acontece especificamente quando, em alguma célula anterior do seu estudo, você acabou criando uma variável chamada print por engano e atribuiu uma tupla a ela, algo parecido com isto:

print = ("algum", "dado") # Substituiu a função nativa do Python por uma tupla!

Quando você fez isso, a palavra print deixou de ser a função que exibe textos na tela e passou a ser uma tupla comum. Ao tentar rodar print(...), o Python tentou "executar" a sua tupla e quebrou.


Por que funcionou perfeitamente na célula de baixo?

Você deve ter percebido que entre a falha e o sucesso, você executou os comandos de checagem:

  • type(print) $\rightarrow$ que retornou builtin_function_or_method
  • type(nota_entrada) $\rightarrow$ que retornou float

Provavelmente, para corrigir o problema antes de rodar a última célula, você reiniciou o ambiente de execução (Restart Kernel) ou limpou as variáveis da memória. Ao reiniciar o kernel, o Python "esquece" as variáveis customizadas e devolve o nome print para a sua função nativa original.

Com o ecossistema limpo, a função voltou a funcionar perfeitamente e exibiu a saída certinha: Ano de entrada 2026 - nota do teste de ingresso 8.9.

Uma dica de ouro para notebooks interativos

Sempre que você se deparar com erros estranhos envolvendo funções nativas do Python (como print, input, int, str, sum), lembre-se destas duas boas práticas:

  1. Evite usar nomes reservados: Nunca crie variáveis com os mesmos nomes das funções do sistema. Se precisar guardar um texto para impressão, use texto_print ou mensagem, por exemplo.
  2. O botão de pânico (Restart Kernel): Se o código parecer 100% correto e mesmo assim continuar quebrando com erros de tipo, vá no menu superior do seu ambiente e clique em Ambiente de Execução > Reiniciar sessão (ou Kernel > Restart). Isso limpa a memória e resolve esses conflitos fantasmas na hora.

Parabéns pela persistência nos testes e por conseguir concluir o desafio de formatação de f-strings com sucesso!

Espero que possa ter lhe ajudado!