Qual erro ocorre se tentarmos somar um número (int) com um texto (str)? Como corrigir isso?
Passo 1
Você quer saber que erro o Python dá quando a gente tenta somar um inteiro (
int) com uma string (str), e como consertar isso. O conteúdo aqui é “tipagem em Python” e “conversão de tipos” – ou seja, entender por que o Python reclama e como usar as funções str() ou int() para ajustar os tipos.Passo 2
Antes de mais nada, vamos ver o que acontece com um exemplo simples:
a = 1
b = “2”
c = a + b
Quando o Python chega na linha
a = 1
b = “2”
c = a + b
Quando o Python chega na linha
c = a + b, ele olha para a (que é um int) e b (que é um str) e diz “opa, não sei como somar esses dois tipos”. Isso gera um TypeError. A mensagem típica é:TypeError: unsupported operand type(s) for +: 'int' and 'str'
Passo 3
Por que isso ocorre? Em linguagens com tipagem dinâmica como Python, cada valor tem um tipo bem definido. A operação
+ para inteiros faz soma aritmética, mas para strings faz concatenação de texto. Python não faz conversão automática entre esses mundos, então ele reclama.Passo 4
Para corrigir, a gente precisa “alinhar” os tipos de ambos os operandos antes de usar
+. Tem duas opções principais:- Converter o número (
int) para texto (str), se quiser concatenar:
c = str(a) + b - Converter o texto (
str) para número (int), se quiser somar valores numéricos:
c = a + int(b)
Resposta
O erro é um TypeError com a mensagem
unsupported operand type(s) for +: 'int' and 'str'. Para corrigir, converta um dos operandos usando str() ou int(), por exemplo str(a) + b ou a + int(b).