- Esecutori
-
Impara
Centro di apprendimento Python Esempi eseguibili, NumPy, pandas e altro Centro di apprendimento C e C++ Puntatori, memoria, STL e C++ moderno Centro di apprendimento C#Fondamenti, OOP, LINQ, async ed esercizi .NET Algoritmi Python Ricerca, ordinamento, ricorsione e visualizzazioni O(n) Algoritmi C e C++ Confronta le implementazioni in C e C++
- Sfide
I modelli linguistici scelgono il token successivo da una distribuzione di probabilità. Due impostazioni le danno forma:
- 'Top-k: tieni solo i k token con i logit più alti (a parità di logit, l''indice minore viene prima).'
- 'Temperatura T: dividi i logit tenuti per T prima del softmax. Una T bassa rende la scelta più prevedibile, una T alta più casuale.'
Per rendere il campionamento verificabile, il numero casuale viene fornito:
- Tieni i token del top-k ed elencali per indice originale (crescente).
- Calcola softmax(logit / T) sui token tenuti (sottrai il maggiore prima di calcolare e^x).
- Scorri la lista sommando le probabilità; restituisci l'indice del primo token in cui il totale cumulato supera
random_value. Se non succede mai (arrotondamento), restituisci l'ultimo token tenuto.
Con k = 1 è la decodifica greedy: sempre il token più probabile.
Implementa sample_token(logits, temperature, k, random_value).
Input
logits: Un punteggio per ogni token del vocabolario.
temperature: T, maggiore di 0.
k: Quanti token migliori tenere.
random_value: Un numero casuale in [0, 1).
Output
Restituisci l'indice del token scelto.
Vincoli
1 ≤ k ≤ numero di logit ≤ 1.000
0 < temperature ≤ 100, 0 ≤ random_value < 1
-100 ≤ ogni logit ≤ 100
Esempi
Esempio 1
Input:
k = 1
logits = [1.0, 3.0, 2.0, 0.5]
temperature = 1.0
random_value = 0.99
Output atteso:
1
Spiegazione
k = 1 tiene solo il logit più alto, 3.0 all'indice 1. La sua probabilità è 1, quindi viene scelto qualunque sia il numero casuale: decodifica greedy.
Esempio 2
Input:
k = 2
logits = [2.0, 1.0, 0.0]
temperature = 1.0
random_value = 0.8
Output atteso:
1
Spiegazione
Il top-2 tiene gli indici 0 e 1 (logit 2 e 1). Il softmax dà circa 0.731 e 0.269. Il totale cumulato è 0.731 dopo l'indice 0 (non supera 0.8) e 1 dopo l'indice 1, quindi viene scelto l'indice 1.
Riferimenti
-
Esempio 1 Non eseguitoInput:
k = 1 logits = [1.0, 3.0, 2.0, 0.5] temperature = 1.0 random_value = 0.99Output atteso:1Il tuo output -
Esempio 2 Non eseguitoInput:
k = 2 logits = [2.0, 1.0, 0.0] temperature = 1.0 random_value = 0.8Output atteso:1Il tuo output
4 test nascosti vengono eseguiti anche al momento dell'invio.
Compilatore e debugger Python online
Scrivi, esegui e fai il debug di Python online. Usa breakpoint e comandi passo passo in modalità Server, senza installazione.
🚀 4,279,640 esecuzioni totali (40 questo mese)
Esercitati in Python con le sfide di codice
Risolvi problemi pratici direttamente in questo editor: esegui i test di esempio, invia la soluzione e ricevi una revisione AI del codice.
🐍 Informazioni su questo esecutore Python online
L’Esecutore Python di CodeUtility ti permette di scrivere, eseguire e testare codice Python direttamente nel browser - senza configurazioni o installazioni. È alimentato da una sandbox sicura che supporta versioni reali di Python dalla 3.10 alla 3.13.
Che tu stia imparando Python per la prima volta, testando brevi snippet o facendo debug della logica, questo strumento offre un ambiente di programmazione rapido e senza distrazioni. Puoi sperimentare liberamente e vedere l’output istantaneamente nella console integrata.
È ideale per principianti, studenti e sviluppatori che hanno bisogno di un IDE online leggero per esercitarsi con Python o per prototipare velocemente.
Più di un semplice esecutore di codice
Usa nello stesso esecutore un editor multifile, un terminale di esecuzione isolato, librerie specifiche per il runtime, spazi di lavoro persistenti, condivisione e collaborazione in tempo reale.
Come si usa questo esecutore?
Scegli un runtime, apri o crea un file, scrivi il codice e seleziona Esegui. L’output appare nel terminale; gli utenti che hanno effettuato l’accesso possono conservare i file in uno spazio di lavoro, installare librerie e collaborare tramite le condivisioni.
- Seleziona una versione e modifica il file corrente oppure apri un altro file dello spazio di lavoro.
- Esegui il codice, inserisci i dati nel terminale quando richiesto e consulta la cronologia delle esecuzioni salvate.
- Usa librerie, strumenti dello spazio di lavoro, condivisione e chat quando l’attività richiede più di un frammento di codice.
💡 Basi di Python ed esempi che puoi provare qui sopra
1. Dichiarare variabili e costanti
Python è tipizzato dinamicamente, quindi non devi dichiarare i tipi esplicitamente. Non esiste una parola chiave per le costanti, ma per convenzione le costanti si scrivono in MAIUSCOLO.
# Variabili
x = 10
pi = 3.14
name = "Alice"
is_active = True
# Costanti (per convenzione)
MAX_USERS = 100
APP_NAME = "CodeUtility"
# Le costanti possono comunque essere riassegnate (non è imposto)
MAX_USERS = 200 # ⚠️ Tecnicamente consentito, ma sconsigliato
2. Condizionali
Controlla il flusso con i blocchi if, elif e else. In Python 3.10+, puoi anche usare match-case come alternativa a switch-case.
# if-elif-else tradizionale
x = 2
if x == 1:
print("Uno")
elif x == 2:
print("Due")
else:
print("Altro")
Alternativa: match-case (Python 3.10+)
# Richiede Python 3.10+
x = 2
match x:
case 1:
print("Uno")
case 2:
print("Due")
case _:
print("Altro")
3. Cicli
for si usa per iterare su sequenze, while esegue finché una condizione è vera.
for i in range(3):
print(i)
count = 3
while count > 0:
print(count)
count -= 1
4. Liste
Le liste sono collezioni ordinate e mutabili. Puoi accedere agli elementi per indice.
fruits = ["apple", "banana"]
print(fruits[0])
print(len(fruits))
5. Manipolazione delle liste
Aggiungi, rimuovi, fai slice e inverti le liste. Le list comprehension consentono un’iterazione compatta.
fruits.append("cherry")
fruits.insert(1, "kiwi")
fruits.remove("banana")
fruits.pop()
print(fruits[1:3])
print(fruits[::-1])
squares = [x*x for x in range(5)]
6. Input/Output da console
Usa input() per leggere dall’utente e print() per mostrare l’output.
Puoi stampare più righe usando \n (carattere di nuova riga) o chiamando print() più volte.
# Leggi input
name = input("Inserisci il tuo nome: ")
print("Ciao", name)
# Stampa più righe
print("Riga 1\nRiga 2\nRiga 3")
# Oppure usa più chiamate a print
print("Riga A")
print("Riga B")
print("Riga C")
7. Funzioni
Le funzioni aiutano a organizzare il codice e a riutilizzarlo. Usa parametri e valori di ritorno.
def greet(name):
return "Ciao " + name
print(greet("Alice"))
8. Dizionari
Memorizzano coppie chiave-valore. Le chiavi sono uniche e ai valori si accede tramite chiave.
person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "Non fornita"))
9. Gestione delle eccezioni
Usa try ed except per intercettare e gestire gli errori in modo elegante.
try:
x = 1 / 0
except ZeroDivisionError:
print("Impossibile dividere per zero")
10. I/O su file
Leggi e scrivi su file usando open().
with open("data.txt", "w") as f:
f.write("Ciao mondo")
with open("data.txt", "r") as f:
print(f.read())
11. Manipolazione delle stringhe
Le stringhe Python hanno metodi potenti come strip(), replace() e split().
text = " Hello World "
print(text.strip())
print(text.upper())
print(text.replace("Hello", "Hi"))
print(text.split())
12. Classi e oggetti
Definisci modelli riutilizzabili con le classi. Usa __init__ per inizializzare gli oggetti.
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Ciao, sono " + self.name
p = Person("Alice")
print(p.greet())
🐞 Come eseguire il debug di Python online
Usa il debugger Python online per trovare errori logici senza installare Python o un IDE. Il debug usa un vero runtime Python 3.10–3.13 in modalità Server.
- Seleziona una versione Python eseguita sul server.
- Fai clic accanto a un numero di riga per impostare uno o più breakpoint.
- Seleziona Debug per avviare il programma e fermarlo al primo breakpoint corrispondente.
- Controlla la riga e le variabili, quindi usa Continua, Step Over, Step Into o Step Out.
- Seleziona Stop per terminare la sessione.
Inizia con un piccolo esempio riproducibile e imposta un breakpoint appena prima che il valore diventi inatteso. La modalità Server supporta anche file del workspace e librerie installate.