Pular para o conteúdo

Sorteador de listas

Embaralhe uma lista, escolha N ao acaso, ou tire um vencedor - sorteio criptograficamente justo.

Cole uma lista, escolha um modo: embaralhar, escolher N, dividir em equipes equilibradas, ou tirar um vencedor. Pondere entradas com nome:peso para rifas. Cada sorteio é criptograficamente aleatório e sem viés.

Como usar

  1. Cole sua lista

    Uma entrada por linha. Linhas vazias são ignoradas; ative aparar e remover duplicatas para limpar a entrada.

  2. Escolha um modo

    Embaralhar tudo, escolher N, formar equipes, ou tirar vencedor.

  3. Rode o sorteio

    Clique em Executar. A saída é a nova ordem, a seleção ou as equipes - copie ou clique num sorteio recente para trazê-lo de volta.

O que é?

Um sorteador de listas pega uma sequência de strings e produz uma permutação, uma amostra ou um sorteio único. A parte interessante não é o algoritmo (shuffle Fisher-Yates, amostragem k-de-n) - é a fonte de aleatoriedade. Math.random serve para uma rifa de hobby; para qualquer coisa que precise se defender, o CSPRNG por trás de window.crypto.getRandomValues é a ferramenta certa.

Quando usar

Tirar o vencedor de um giveaway. Embaralhar uma lista de alunos para a ordem de apresentação. Amostrar 10 linhas de um log de 1000 para uma passagem manual de QA. Aleatorizar uma playlist quando o app tem «shuffle» mas não mostra a ordem. Dividir uma equipe em duplas.

Erros comuns

Usar Math.random para um sorteio com peso - não é imparcial o suficiente, e versões antigas do Safari tinham fraquezas conhecidas. Esquecer que tirar de uma lista com duplicatas pedindo «único» devolve o conjunto único primeiro; deixe claro se «único» é por conteúdo ou por posição. E rodar o shuffle e depois ordenar a saída para exibição, o que anula o ponto.

FAQ

Quão «aleatório» é o aleatório aqui?
Criptograficamente seguro. Usamos crypto.getRandomValues, o CSPRNG do navegador - a mesma fonte que sustenta a geração de chaves TLS, com amostragem por rejeição para evitar viés de módulo. Para sorteios, rifas e qualquer coisa auditável, é mais do que suficiente.
Escolher N: com ou sem reposição?
Sem reposição por padrão - cada entrada pode ser escolhida no máximo uma vez. Ligue «permitir duplicatas» para amostragem com reposição (útil para stress-test ou simular dados).
Dá para dividir uma lista em equipes?
Sim. Escolha «Formar equipes», informe quantas equipes, e a lista é embaralhada e distribuída em rodízio em grupos equilibrados cujos tamanhos diferem em no máximo um.
Posso dar mais chance a algumas entradas?
Ligue «Ponderado» e acrescente :peso a uma linha, ex. «Alice:5». Entradas mais pesadas têm proporcionalmente mais chance de serem sorteadas. Linhas sem peso valem 1 por padrão.

Avalie esta ferramenta

Compartilhe sua experiência para ajudar outras pessoas.

Mais nesta categoria