O que acontece quando o intervalo é zero
Você pede pra listar os números inteiros entre 3 e 3 e, no fim das contas, não tem nada pra mostrar. Não é uma pegadinha de professor entediado — é simplesmente como a relação de ordem funciona nos inteiros. O conjunto dos inteiros estritamente entre dois números idênticos é vazio. Fim.
quais são os números inteiros entre 3 e 3
Nenhum. O conjunto vazio, representado por { } ou , é a resposta completa. O número 3 não conta porque o enunciado pede estritamente "entre", o que exclui as extremidades. E mesmo que considerássemos os extremos, sobraria só o próprio 3, que não é "entre" nada de si mesmo. No dia a dia, isso aparece mais do que você imagina. Recentemente precisei validar um filtro de intervalo em um sistema de estoque que recebia parâmetros dinâmicos de clientes. Um deles passou início = 3 e fim = 3, esperando que o código retornasse pelo menos o SKU ao índice 3. O script, seguindo a lógica estrita de "between", devolvia vazio. A correção foi simples: trocar a condição de estrita (
) para fechada ( e ), mas o ponto importante é que eu precisava saber exatamente qual semântica o cliente esperava antes de mexer em nada. Se você não preguntar, assume errado e gasta uma tarde inteira caçando bug que na verdade era mal-entendido de especificação.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Uma coisa que gente nova costuma perder de vista é que "entre" não tem definição universal fixa em matemática aplicada. Em muitos contextos escolares, entre é estrito. Em programação, depende da biblioteca. Em Python, range(3, 3) já devolve vazio, mas em SQL com BETWEEN 3 AND 3 você recebe o 3. Não existe erro aí — existe ambiguidade não declarada. A regra prática é: sempre verifique se o limite é inclusivo ou exclusivo antes de confiar no resultado. Outro detalhe que raramente mencionam: se você trabalha com integrais de definição ou somas indexadas onde os limites coincidem, o resultado não é necessariamente zero em todos os contextos. Em somas, sim — soma vazia é identicamente zero por convenção. Em integrais, _a^a f(x)dx = 0 para qualquer função integrável, mas isso é uma propriedade derivada, não uma definição. Confundir os dois casos já viu problema de quem automatiza cálculos numéricos e começa a achar que todo "intervalo nulo" deve ser tratado igual.
Se o seu objetivo real era listar o próprio número 3 como parte da resposta, a formulação correta seria "números inteiros de 3 a 3, inclusive". Ai a resposta muda: {3}. Diferença de uma palavra, mundo de diferença no resultado. Resumo seco: não há inteiros estritamente entre 3 e 3. Se precisa de inclusividade, deixe isso explícito desde o início. Se estiver construindo código, teste os dois cenários — range fechado e aberto — e valide com quem pediu a coisa. Deixa de gambiarra e economiza horas de conversa traumática no channel de suporte.