Entendendo números inteiros entre 3 e 3
Muita gente confunde isso na hora de resolver exercícios de matemática ou programar. O conceito é simples, mas o detalhe que importa é se o intervalo é fechado ou aberto. Se você escreve os números inteiros entre 3 e 3fechados, o único resultado é {3}. Se for estritamente entre (aberto), não existe nenhum número inteiro que caia nessa faixa. Não tem truque.
Como escreva os números inteiros entre 3 e 3 corretamente
A primeira coisa que eu sempre vejo errado é gente colocando esse intervalo em código e achando que vai dar erro ou vazio. Funciona normal, só depende de como você define os limites. Aqui vai um exemplo prático em Python: Se quiser incluir o 3 no resultado:
range(3, 4) — retorna [3] Se quiser estritamente entre, sem incluir as pontas:
👉 Clique no botão abaixo para saber mais sobre o assunto!
[x for x in range(4) if 3 < x < 3] — retorna [] O segundo caso nunca vai retornar nada. É matematicamente impossível existir um número inteiro maior que 3 e menor que 3 ao mesmo tempo. Já vi gente gastar meia horaDebugando isso achando que era bug no código.
Na prática, eu já encontrei situações onde um algoritmo precisava gerar intervalos dinamicamente e o limite inferior e superior acabavam sendo iguais. O problema é que muitos pacotes e bibliotecas esperam que inicio < fim. Quando inicio == fim, o comportamento varia. No pandas, por exemplo, um slice com start igual a end não necessariamente retorna o que você espera se não especificar o passo. A solução que eu uso é sempre verificar se os limites são iguais antes de chamar a função e, se forem, tratar como um caso especial que retorna apenas aquele valor (ou vazio, dependendo da regra do negócio). Outro ponto que os iniciantes perdem: quando trabalham com números inteiros em diferentes linguagens, a definição de "inteiro" pode variar. Em Python, int é arbitrariamente preciso. Em C ou Java, integer overflow pode causar comportamentos estranhos se você estiver fazendo contas dentro do intervalo. Não é o caso aqui, mas é bom ter em mente.
Resumindo o que importa: intervalos de 3 a 3 só têm sentido se você deixar claro se quer incluir ou não o próprio 3. Fora isso, não há nada mais para analisar.