Como evitar TypeError: 'int' object is not iterable?
O erro TypeError: 'int' object is not iterable ocorre quando tentamos iterar sobre um número inteiro (int
), algo que não é permitido pelo Python.
Exemplo do erro
numero = 10
for valor in numero:
print(valor)
Esse código falhará porque um número inteiro não é uma estrutura iterável como listas ou strings.
Solução 1: Certificar-se de que a variável seja iterável
Se deseja iterar de 0 até um número específico, use range()
:
for valor in range(10):
print(valor)
Isso cria uma sequência de números de 0 a 9, tornando possível a iteração.
Solução 2: Converter o número para uma string ou lista
Se quiser tratar um número como uma sequência de caracteres, converta-o para str
:
numero = 12345
for digito in str(numero):
print(digito)
Agora cada dígito do número será tratado individualmente dentro do loop.
Por que alguns tipos de dados não são iteráveis?
No Python, nem todos os tipos de dados podem ser percorridos diretamente em um loop. Entender a diferença entre tipos iteráveis e não iteráveis é essencial para evitar erros como o TypeError: 'int' object is not iterable e garantir que seu código funcione corretamente.
Algumas aplicações:
- Iteração segura sobre números convertidos em strings.
- Uso de
range()
para loops definidos. - Conversão de inteiros em listas de caracteres para manipulação.
Dicas para quem está começando
- Não tente iterar diretamente sobre números inteiros.
- Use
range()
ao criar loops com valores numéricos. - Se precisar manipular os dígitos de um número, converta-o em string.
- Verifique o tipo da variável antes de usá-la em um loop.
Contribuições de Pedro Vasconcellos