ANÚNCIO

~/questoes/python

O que acontece quando você tenta somar um número inteiro com uma string sem conversão?

Responda, confira o feedback e use o resultado para orientar sua revisão.
Para fixar

Soma de Número Inteiro com String em Python

Conceito central

Em Python, tipos de dados diferentes não podem ser combinados em operações sem conversão explícita. Quando você tenta somar um inteiro com uma string diretamente, a linguagem gera um erro de tipo (TypeError) para proteger a integridade dos dados.

Por que essa resposta faz sentido

Python é rigoroso com tipos de dados e não faz conversões automáticas em operações aritméticas. O erro TypeError ocorre em tempo de execução porque a operação tenta misturar dois tipos incompatíveis, sinalizando que você precisa fazer uma conversão explícita usando funções como int() ou str().

Armadilhas comuns

  • Achar que Python faz conversão automática de tipos em operações — na verdade, você sempre precisa converter manualmente
  • Confundir a concatenação de strings (que usa +) com soma de números — são operações diferentes em Python
  • Não usar casting quando recebe dados do usuário via input(), esquecendo que sempre retorna string

Entenda as alternativas

A

Isso não é o que acontece. Python não converte automaticamente para string nem concatena esses valores. Essa alternativa confunde o comportamento de strings em Python com aritmética.

B

Python não faz conversão automática em operações aritméticas. Diferente de algumas linguagens, Python exige que você seja explícito sobre como deseja converter os tipos usando funções como int() ou str().

C

A operação não é ignorada silenciosamente. Python gera um erro visível para alertar o programador sobre o problema, em vez de simplesmente descartar parte do código.

D

Python gera um TypeError durante a execução porque tenta somar tipos incompatíveis. Esse erro força o programador a ser explícito sobre como converter um dos valores usando casting.

Dica prática: Quando receber dados do usuário com input(), sempre converta para o tipo correto imediatamente. Exemplo: idade = int(input('Qual sua idade? ')) em vez de idade = input('Qual sua idade? '). Assim você evita esse erro comum.

Revise pensando: Se você tenta fazer 5 + '10' sem conversão, o Python aceita ou gera um erro? Por quê?