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 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:
  1. Converter o número (int) para texto (str), se quiser concatenar:
    c = str(a) + b
  2. 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).

Exercícios relacionados