Generatore di squadre casuali con seme e gruppi bilanciati
Questo generatore di squadre casuali con seme trasforma un elenco di nomi in gruppi equilibrati che Lei potrà riprodurre in seguito.
Esegui gratis nel browser
Inserisca le persone, scelga quante squadre servono e fornisca un testo qualsiasi come seme. Lo stesso elenco, numero di squadre e seme produce sempre la stessa assegnazione, facile da verificare, condividere o ripetere. Ogni persona viene assegnata una sola volta, le dimensioni differiscono al massimo di un membro e la richiesta viene respinta quando le squadre superano le persone.
Prepari l'elenco e scelga un seme utile
Inizi con una voce per ogni persona che deve partecipare. I nomi vengono conservati esattamente, comprese maiuscole e spazi, quindi Lei può usare nomi visualizzati, iniziali, codici del personale o altri identificativi leggibili. Ogni voce deve contenere testo diverso dai soli spazi. Le ripetizioni sono ammesse perché due persone possono avere lo stesso nome, anche se è opportuno aggiungere un identificativo quando l'assegnazione finale deve distinguerle. Scelga poi un numero di squadre compreso tra uno e il totale dei nomi forniti. Il seme può essere qualsiasi testo non vuoto, per esempio il nome di un evento, una data scelta dall'organizzazione o l'etichetta pubblica di un sorteggio. Un seme descrittivo rende semplice riprodurre l'assegnazione senza conservare altro stato. Per una procedura equa, concordi o pubblichi il seme prima di esaminare le squadre. La modifica di un solo carattere può cambiare il rimescolamento, mentre un input identico ricrea esattamente lo stesso risultato. Lo strumento accetta fino a diecimila nomi per richiesta ed è adatto a classi, laboratori, campionati e grandi eventi interni.
Come funzionano rimescolamento deterministico e bilanciamento
Il generatore converte il seme in uno stato numerico stabile e lo usa per guidare il rimescolamento deterministico di una copia dell'elenco. Non utilizza casualità di sistema, ora corrente, dati di rete o stato di sessione memorizzato. Dopo il rimescolamento distribuisce i nomi in sequenza: il primo va alla squadra uno, il successivo alla squadra due e così via, tornando alla prima dopo l'ultima. Questa regola garantisce che la squadra più grande e quella più piccola differiscano al massimo di una persona. Quando il numero dei nomi non è divisibile in parti uguali, le squadre con numero inferiore ricevono un membro in più. Ogni posizione dell'input compare esattamente una volta nell'output, quindi i nomi visualizzati uguali restano voci separate invece di essere uniti senza avviso. Determinismo significa riproducibilità, non imprevedibilità crittografica: chi conosce l'intero input e il seme può calcolare la stessa assegnazione. Se i partecipanti potrebbero influenzare strategicamente un seme pubblico, lo scelga mediante una procedura concordata dopo aver chiuso l'elenco, quindi registri sia l'elenco sia il seme insieme al risultato.
Ripeta, confronti e automatizzi le assegnazioni
Conservi l'ordine originale dei nomi, il numero di squadre richiesto e il seme ogni volta che deve ricreare un'assegnazione. Tutti e tre partecipano al calcolo: riordinare l'elenco, correggere un nome, aggiungere un partecipante in ritardo, rimuovere qualcuno, cambiare il numero di squadre o modificare il seme genera un altro rimescolamento. Questa sensibilità impedisce che un risultato obsoleto sembri valido dopo un cambio dell'organico, ma richiede anche di trattare la richiesta completa come verbale del sorteggio. La risposta restituisce seme, numero di squadre e gruppi numerati con i loro membri, in una struttura semplice da copiare in un programma o utilizzare in un flusso automatizzato. Usi l'esecuzione nel browser per una lezione o un laboratorio occasionale e l'API quando un'applicazione necessita di raggruppamenti ripetibili senza gestire il proprio codice casuale. Ogni richiesta API costa $0.002; l'esecuzione nel browser è disponibile in questa pagina. La convalida blocca subito richieste impossibili o ambigue, come nomi vuoti, seme mancante, numero non intero o più squadre che persone.
Casi d'uso
Creare gruppi per un laboratorio
Pubblichi un seme della sessione e generi gruppi equilibrati che i responsabili possano riprodurre.
Assegnare squadre per progetti scolastici
Divida una classe in modo uniforme conservando l'elenco, il seme e l'assegnazione esatti.
Automatizzare sorteggi per eventi ricorrenti
Generi squadre deterministiche in un'applicazione senza memorizzare lo stato di un generatore casuale.
Domande frequenti
Lo stesso seme crea sempre le stesse squadre?
Sì, se i nomi restano nello stesso ordine e il numero di squadre non cambia. Qualsiasi modifica a questi input può cambiare il risultato.
Quanto è equilibrata la distribuzione delle persone?
Ogni persona viene assegnata una volta e la squadra più grande ha al massimo un membro in più della più piccola.
Che cosa accade se le squadre superano i nomi?
La richiesta restituisce un errore di input non valido perché ogni squadra richiesta deve ricevere almeno una persona.
Due persone possono avere lo stesso nome?
Sì. Le stringhe ripetute restano voci distinte, anche se aggiungere un identificativo aiuta a distinguerle.
È adatto a una lotteria con requisiti di sicurezza?
No. L'algoritmo è trasparente e riproducibile, ma non è progettato come estrazione segreta o crittograficamente sicura.
Quanto costa una richiesta API?
Ogni richiesta API costa $0.002. Lei può anche eseguire la capacità nel browser da questa pagina.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/game/team-shuffle-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}'const res = await fetch("https://api.kit.forhosting.com/game/team-shuffle-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/game/team-shuffle-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/game/team-shuffle-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"names":["Amina","Bruno","Chen","Daria","Emil","Fatima","Grace"],"team_count":3,"seed":"summer-games-2026"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/game/team-shuffle-seeded", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"names": [
"Amina",
"Bruno",
"Chen",
"Daria",
"Emil",
"Fatima",
"Grace"
],
"team_count": 3,
"seed": "summer-games-2026"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "game.team_shuffle_seeded",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_items | 10000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |