Mescola opzioni quiz con seme
Mescoli le risposte di una domanda con un numero seme e ottenga sempre lo stesso ordine: Parigi, Londra, Berlino e Madrid con il seme 7 diventano Berlino, Londra, Madrid e Parigi, e le viene indicato che la giusta ora è l'ultima. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Opzioni
- Paris, London, Berlin, Madrid
- Indice corretto
- 0
- Seme
- 7
- Opzioni
- Berlin, London, Madrid, Paris
- Indice corretto
- 3
- Indice corretto originale
- 0
- Numero di opzioni
- 4
I quiz a scelta multipla richiedono un ordine equo delle opzioni senza perdere la chiave. Se ogni studente vede sempre la risposta corretta per prima, i punteggi si gonfiano; se si mescola con casualità non riproducibile, non si può rivalutare, fare test A/B né eseguire il debug di un singolo item. Questo mescolamento a scelta multipla con seme riceve le opzioni di risposta, l'indice di quella corretta e un seme intero, poi restituisce un elenco riordinato in modo deterministico e il nuovo indice corretto. Lo stesso triplo di ingressi produce sempre lo stesso ordine, così moduli d'esame, esportazioni LMS e pacchetti mobili offline restano stabili bit a bit.
Perché il mescolamento con seme conta per quiz e valutazioni
I quiz di classe e di prodotto di solito redigono le opzioni in un ordine canonico —risposta corretta per prima, o secondo la sequenza del curriculum— e poi necessitano di un ordine di presentazione che non riveli la chiave. Un mescolamento puramente casuale al render rompe la riproducibilità: due correttori che aprono lo stesso tentativo vedono posizioni diverse, le catture di schermo non coincidono più con i log e le stampe cartacee non possono essere rigenerate dopo un riavvio del server.
Inizializzare il mescolamento con un intero stabile —hash dell'id studente, numero di variante del modulo, contatore di tentativi o un seme fisso di classe— offre varietà controllata e una mappatura fissa che Lei può ricalcolare in seguito. Usi un seme per variante di modulo o per studente se vuole ordini indipendenti; riutilizzi lo stesso seme quando le servono fascicoli identici su dispositivi diversi.
Dove un mescolamento di opzioni con seme dà valore
I sistemi di gestione dell'apprendimento chiamano un mescolamento con seme delle risposte di quiz all'esportazione dei moduli affinché ogni sezione ottenga un ordine di opzioni diverso senza riscrivere la banca degli item. Gli strumenti di integrità d'esame ruotano l'ordine dei distrattori per posto mantenendo una traccia di audit: dati il seme e la chiave originale, qualsiasi revisore può ricalcolare l'ordine presentato. La validazione fallita non consuma saldo.
Mantenga elenchi di opzioni brevi, fissi goldens per i semi critici e ottiene una presentazione a scelta multipla riproducibile per plugin LMS, generatori di compiti e edge workers senza allestire un servizio di mescolamento proprio.
Casi d'uso
Varianti di modulo LMS
Esporti una stessa banca di item in più moduli d'esame seminando ogni id di modulo affinché l'ordine delle opzioni differisca e l'indice corretto resti tracciato per la correzione automatica.
Ordine di presentazione per studente
Trasformi l'id studente in un seme e mescoli le opzioni affinché ogni apprendente veda un ordine diverso senza cambiare la chiave sottostante della domanda.
Domande frequenti
Quante opzioni posso inviare?
Tra 2 e 50 inclusi. Meno di due non è un insieme a scelta multipla; più di cinquanta viene rifiutato per delimitare il contratto.
Perché mescolare le risposte con un seme invece che a caso?
Perché un ordine con seme si può ricostruire dopo. Due correttori che aprono lo stesso tentativo vedono le risposte nelle stesse posizioni, i fascicoli stampati si possono rigenerare e ogni domanda si ricontrolla senza indovinare cosa ha visto lo studente.
Come do a ogni studente un ordine diverso?
Usi un seme diverso per ogni studente o per ogni versione della prova, e ciascuno avrà il proprio ordine. Riutilizzi lo stesso seme quando servono fascicoli identici su carta e su tutti i dispositivi.
Come so dove è finita la risposta giusta?
Il risultato riporta l'elenco mescolato insieme alla nuova posizione della risposta giusta, così la correzione automatica continua a funzionare. Nell'esempio Parigi parte prima e finisce all'ultimo dei quattro posti.
Aggiunge le lettere A, B, C e D?
No. Cambia soltanto l'ordine dei testi delle risposte e tiene traccia di quella giusta. Se il suo quiz mostra lettere accanto alle risposte, le aggiunga nella sua impaginazione dopo il mescolamento.
Strumenti correlati
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/edu/multiple-choice-shuffle-seeded \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"choices":["Paris","London","Berlin","Madrid"],"correct_index":0,"seed":42}'const res = await fetch("https://api.kit.forhosting.com/edu/multiple-choice-shuffle-seeded", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"choices": [
"Paris",
"London",
"Berlin",
"Madrid"
],
"correct_index": 0,
"seed": 42
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/edu/multiple-choice-shuffle-seeded",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"choices": [
"Paris",
"London",
"Berlin",
"Madrid"
],
"correct_index": 0,
"seed": 42
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/edu/multiple-choice-shuffle-seeded", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"choices":["Paris","London","Berlin","Madrid"],"correct_index":0,"seed":42}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"choices":["Paris","London","Berlin","Madrid"],"correct_index":0,"seed":42}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/edu/multiple-choice-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
{
"choices": [
"Paris",
"London",
"Berlin",
"Madrid"
],
"correct_index": 0,
"seed": 42
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "edu.multiple_choice_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.
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. |
Note tecniche
Gli indici corretti fuori intervallo falliscono con invalid_input invece di puntare in silenzio all'opzione sbagliata.
Perché il mescolamento con seme conta per quiz e valutazioni
Questo endpoint implementa Fisher–Yates guidato da un generatore mulberry32 inizializzato con il Suo seme, così la permutazione è interamente determinata dalla lunghezza delle opzioni, dall'ordine del contenuto, dal seme e dall'indice corretto originale. Non deve rideducere la chiave abbinando testi a posteriori: la risposta include il nuovo correct_index insieme alle opzioni mescolate, che è il contratto di cui hanno bisogno gli autocorrettori e le interfacce del player. Quando l'indice originale è fuori dai limiti dell'array, l'attività fallisce con invalid_input indicando l'intervallo, perché un indice di chiave errato è peggio di non mescolare. Anche elenchi vuoti o con una sola opzione vengono rifiutati affinché l'API resti onesta su cosa sia un item a scelta multipla.
Contratto di ingresso, forma della risposta e comportamento di errore
Gli elementi di opzione numerici o booleani vengono convertiti in stringa; oggetti e null vengono rifiutati. Abbini la risposta alle proprie etichette A–D se l'interfaccia richiede lettere; questa capacità riordina solo stringhe e tiene traccia della chiave. Mantenga i semi nell'intervallo a trentadue bit con segno di Suo interesse; il PRNG usa il seme come stato a trentadue bit senza segno mentre la risposta continua a ripetere l'intero da Lei fornito. Invii in POST un corpo JSON con tre campi obbligatori. choices è un array di almeno due e al massimo cinquanta stringhe (sono accettati gli alias options e answers). correct_index è un intero a base zero che indica quale voce è corretta in quell'ordine di stesura (alias answer_index). seed è un intero finito che inizializza il PRNG (alias shuffle_seed). In caso di successo il corpo restituisce choices come array mescolato, correct_index come nuova posizione dello stesso testo di risposta, original_correct_index che ripete l'indice di ingresso, seed che ripete l'intero da Lei inviato e choice_count uguale alla lunghezza dell'array. Esempio: choices Paris, London, Berlin, Madrid con correct_index zero e seed quarantadue producono sempre lo stesso ordine e lo stesso nuovo indice per Paris.
Dove un mescolamento di opzioni con seme dà valore
I pacchetti mobili offline precomputano le permutazioni al momento della pubblicazione e incorporano seed più correct_index così i dispositivi non hanno mai bisogno di un'API casuale live. Poiché l'implementazione è parse pura di livello A, ogni chiamata riuscita costa il prezzo base pubblicato $0.002 senza token di modello e senza rete in uscita.
Casi di integrazione
Pacchetti quiz offline
Precomputi mescolamenti con seme in pubblicazione e consegni choices più correct_index così le app mobili valutano offline con piena auditabilità.
Domande tecniche
Come mescolo risposte a scelta multipla con un seme?
Invii choices (array di stringhe), correct_index (base zero) e seed (intero). L'API restituisce le opzioni mescolate e il nuovo correct_index della stessa risposta.
Cosa succede se correct_index è fuori intervallo?
L'attività fallisce con invalid_input. L'indice deve soddisfare 0 ≤ correct_index < choices.length; le chiavi errate non vengono mai rimappate in silenzio.
Il mescolamento è deterministico?
Sì. Le stesse choices, correct_index e seed producono sempre lo stesso ordine e lo stesso nuovo indice. Non si usano Math.random né orologio.
Quanto costa il mescolamento di opzioni con seme?
Lo strumento nel browser è gratuito. Le richieste API usano il saldo prepagato KIT a $0.002 per chiamata riuscita; l'ingresso non valido non viene fatturato.