O que são três algarismos e por que aparecem em todo lugar
Três algarismos é simplesmente qualquer número composto por exatamente três dígitos, de 000 a 999. Parece obviedade demais para merecer um texto, mas a realidade é que esse intervalo aparece em contexts técnicos o suficiente pra causar confusão quando você não sabe qual regra se aplica a cada caso. Vou explicar como isso funciona na prática, não na teoria.
três algarismos: o que você precisa saber antes de usar
A primeira coisa que todo mundo erra é assumir que "três dígitos" significa a mesma coisa em todos os sistemas. Não significa. Um campo que aceita três algarismos pode ser tratado como string ou como inteiro, e essa diferença muda completamente como você valida, armazena e processa os dados. No meu caso, tive um problema bem específico com um sistema legado de pagamentos que via um código de autenticacao de tres algarismos como inteiro. Quando o código começava com zero — tipo 047 — o sistema cortava o zero e passava a tratar como 47. Isso quebrava a validação em cerca de 10% das requisições, porque os primeiros dez códigos do range (000 a 009) eram válidos e simplesmente sumiam do banco de dados. A solução foi forçar o tratamiento como string com padding à esquerda em todas as camadas do sistema. Levou duas semanas pra encontrar a raiz do problema, porque o log só registrava o número sem o zero e ninguém percebeu o padrão até eu cruzar os dados manualmente.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Outro ponto que pouca gente leva a sério: o range de 000 a 999 tem exatamente 1000 combinações possiveis. Isso parece innocuo, mas em sistemas onde esse valor funciona como token, chave temporaria ou identificador interno, a colisao não é questão de se vai acontecer, mas de quando. A probabilidade de colisao atinge 50% com apenas cerca de 37 itens armazenados, segundo a paradoxa do aniversario. Se voce esta usando tres algarismos como identificador unico em um contexto de alta volume, voce ja esta devendo. A validação correta de um campo de três dígitos deve checar três coisas: se tem exatamente três caracteres, se todos sao numericos, e se o formato preserva zeros a esquerda quando necessario. Em Python, uma validacao rasa como if len(campo) == 3 nao basta, porque accepta "abc". O minimo aceitavel é validar com expressao regular: ^[0-9]{3}$. Isso garante os tres digitos e rejeita qualquer coisa que nao se encaixe no padrao.
Existem ainda situacoes em que o termo aparece em padroes maisamplos. Codigos postais no Brasil tem cinco dígitos com um traço, mas versoes antigas de sistemas governamentais exigiam a base de tres algarismos do CEP como filtro inicial. Numerecos de serie de equipamentos industriais frequentemente usam tres dígitos para o lote e outros campos para o restante. O ponto e que cada um desses contextos tem regras proprias de formatacao e validacao, e copiar uma solucao de um para outro sem adaptação gera erro na maioria das vezes. Se o seu objetivo é gerar numeros aleatorios de tres algarismos, evite randint(0, 999) se voce precisa preservar zeros a esquerda. O resultado sera um inteiro, e convertir para string depois com str(num).zfill(3) resolve, mas so se voce fizer isso em todos os lugares do codigo. Deixar isso inconsistent é a causa numero um de bugs silenciosos nessa faixa de valores.