- Ausführende
-
Lernen
Python-Lernbereich Ausführbare Beispiele, NumPy, pandas und mehr C/C++-Lernbereich Zeiger, Speicher, STL und modernes C++ C#-LernbereichC#-Grundlagen, OOP, LINQ, Async und .NET-Übungen Python-Algorithmen Suche, Sortierung, Rekursion und Visualisierungen O(n) C/C++-Algorithmen Implementierungen in C und C++ vergleichen
- Aufgaben
Sprachmodelle wählen das nächste Token aus einer Wahrscheinlichkeitsverteilung. Zwei Einstellungen formen sie:
- 'Top-k: Behalte nur die k Tokens mit den höchsten Logits (bei gleichen Logits rangiert der kleinere Index höher).'
- 'Temperatur T: Teile die behaltenen Logits vor dem Softmax durch T. Ein niedriges T macht die Wahl vorhersehbarer, ein hohes T zufälliger.'
Damit das Sampling testbar ist, wird die Zufallszahl vorgegeben:
- Behalte die Top-k-Tokens und liste sie nach ihrem ursprünglichen Index (aufsteigend).
- Berechne softmax(logit / T) über die behaltenen Tokens (ziehe den größten Wert ab, bevor du e^x berechnest).
- Gehe die Liste durch und addiere die Wahrscheinlichkeiten; gib den Index des ersten Tokens zurück, bei dem die laufende Summe größer als
random_valuewird. Passiert das nie (Rundung), gib das letzte behaltene Token zurück.
Mit k = 1 ist das Greedy-Decoding: immer das wahrscheinlichste Token.
Implementiere sample_token(logits, temperature, k, random_value).
Eingabe
logits: Ein Score pro Token im Vokabular.
temperature: T, größer als 0.
k: Wie viele Top-Tokens behalten werden.
random_value: Eine Zufallszahl in [0, 1).
Ausgabe
Gib den Index des gewählten Tokens zurück.
Einschränkungen
1 ≤ k ≤ Anzahl der Logits ≤ 1.000
0 < temperature ≤ 100, 0 ≤ random_value < 1
-100 ≤ jeder Logit ≤ 100
Beispiele
Beispiel 1
Eingabe:
k = 1
logits = [1.0, 3.0, 2.0, 0.5]
temperature = 1.0
random_value = 0.99
Erwartete Ausgabe:
1
Erläuterung
k = 1 behält nur den höchsten Logit, 3.0 bei Index 1. Seine Wahrscheinlichkeit ist 1, also wird er unabhängig von der Zufallszahl gewählt: Greedy-Decoding.
Beispiel 2
Eingabe:
k = 2
logits = [2.0, 1.0, 0.0]
temperature = 1.0
random_value = 0.8
Erwartete Ausgabe:
1
Erläuterung
Top-2 behält die Indizes 0 und 1 (Logits 2 und 1). Softmax ergibt etwa 0.731 und 0.269. Die laufende Summe ist nach Index 0 0.731 (nicht über 0.8) und nach Index 1 gleich 1, also wird Index 1 gewählt.
Referenzen
-
Beispiel 1 Nicht ausgeführtEingabe:
k = 1 logits = [1.0, 3.0, 2.0, 0.5] temperature = 1.0 random_value = 0.99Erwartete Ausgabe:1Deine Ausgabe -
Beispiel 2 Nicht ausgeführtEingabe:
k = 2 logits = [2.0, 1.0, 0.0] temperature = 1.0 random_value = 0.8Erwartete Ausgabe:1Deine Ausgabe
4 versteckte Tests werden beim Einreichen ebenfalls ausgeführt.
Online-Python-Compiler und -Debugger
Schreibe, starte und debugge Python online. Setze Haltepunkte und führe Code im Servermodus schrittweise aus – ohne Installation.
🚀 4,279,640 Gesamt-Ausführungen (40 diesen Monat)
Übe Python mit Coding Challenges
Löse praktische Aufgaben direkt im Editor: Führe die Beispieltests aus, reiche ein und erhalte ein KI-Code-Review.
🐍 Über diesen Python-Online-Executor
Der CodeUtility Python Executor ermöglicht es dir, Python-Code direkt im Browser zu schreiben, auszuführen und zu testen - ganz ohne Setup oder Installation. Er basiert auf einer sicheren Sandbox, die echte Python-Versionen von 3.10 bis 3.13 unterstützt.
Egal, ob du gerade erst mit Python startest, schnell Snippets testest oder Logik debuggen möchtest: Dieses Tool bietet eine schnelle, ablenkungsfreie Programmierumgebung. Du kannst frei experimentieren und die Ausgabe sofort in der integrierten Konsole sehen.
Ideal für Einsteiger, Studierende und Entwickler, die eine schlanke Online-IDE für Python-Übungen oder schnelles Prototyping brauchen.
Mehr als nur ein Code-Runner
Nutzen Sie im selben Executor einen Editor für mehrere Dateien, ein isoliertes Ausführungsterminal, laufzeitspezifische Bibliotheken, persistente Arbeitsbereiche, Freigaben und Zusammenarbeit in Echtzeit.
Wie verwende ich diesen Executor?
Wählen Sie eine Laufzeit aus, öffnen oder erstellen Sie eine Datei, schreiben Sie Ihren Code und wählen Sie Ausführen. Die Ausgabe erscheint im Terminal. Angemeldete Benutzer können Dateien in einem Arbeitsbereich speichern, Bibliotheken installieren und über Freigaben zusammenarbeiten.
- Wählen Sie eine Version aus und bearbeiten Sie die aktuelle Datei oder öffnen Sie eine andere Datei aus dem Arbeitsbereich.
- Führen Sie den Code aus, geben Sie bei Aufforderung Daten im Terminal ein und prüfen Sie den gespeicherten Ausführungsverlauf.
- Nutzen Sie Bibliotheken, Arbeitsbereichswerkzeuge, Freigaben und den Chat, wenn Ihre Aufgabe mehr als ein einzelnes Codefragment erfordert.
💡 Python-Grundlagen & Beispiele, die du oben ausprobieren kannst
1. Variablen und Konstanten deklarieren
Python ist dynamisch typisiert, du musst Typen also nicht explizit deklarieren. Es gibt kein eingebautes Schlüsselwort für Konstanten; per Konvention schreibt man Konstanten in GROSSBUCHSTABEN.
# Variablen
x = 10
pi = 3.14
name = "Alice"
is_active = True
# Konstanten (per Konvention)
MAX_USERS = 100
APP_NAME = "CodeUtility"
# Konstanten können dennoch neu zugewiesen werden (nicht erzwungen)
MAX_USERS = 200 # ⚠️ Technisch erlaubt, aber nicht empfohlen
2. Bedingungen
Steuere Logik mit if-, elif- und else-Blöcken. In Python 3.10+ kannst du außerdem match-case als Alternative zu switch-case verwenden.
# Klassisches if-elif-else
x = 2
if x == 1:
print("Eins")
elif x == 2:
print("Zwei")
else:
print("Andere")
Alternative: match-case (Python 3.10+)
# Erfordert Python 3.10+
x = 2
match x:
case 1:
print("Eins")
case 2:
print("Zwei")
case _:
print("Andere")
3. Schleifen
for wird zur Iteration über Sequenzen verwendet, while läuft, solange eine Bedingung wahr ist.
for i in range(3):
print(i)
count = 3
while count > 0:
print(count)
count -= 1
4. Listen
Listen sind geordnete, veränderliche Sammlungen. Du kannst auf Elemente per Index zugreifen.
fruits = ["apple", "banana"]
print(fruits[0])
print(len(fruits))
5. Listenmanipulation
Listen hinzufügen, entfernen, schneiden und umkehren. List Comprehensions ermöglichen eine kompakte Iteration.
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. Konsolen-Ein-/Ausgabe
Verwende input(), um Benutzereingaben zu lesen, und print(), um Ausgaben anzuzeigen.
Du kannst mehrere Zeilen mit \n (Zeilenumbruch) ausgeben oder print() mehrfach aufrufen.
# Eingabe lesen
name = input("Gib deinen Namen ein: ")
print("Hallo", name)
# Mehrere Zeilen ausgeben
print("Zeile 1\nZeile 2\nZeile 3")
# Oder mehrere print-Aufrufe verwenden
print("Zeile A")
print("Zeile B")
print("Zeile C")
7. Funktionen
Funktionen helfen, Code zu strukturieren und wiederzuverwenden. Verwende Parameter und Rückgabewerte.
def greet(name):
return "Hallo " + name
print(greet("Alice"))
8. Dictionaries
Speichere Schlüssel-Wert-Paare. Schlüssel sind eindeutig, und Werte können über die Schlüssel abgerufen werden.
person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "Nicht angegeben"))
9. Ausnahmebehandlung
Verwende try und except, um Fehler abzufangen und elegant zu behandeln.
try:
x = 1 / 0
except ZeroDivisionError:
print("Division durch Null ist nicht möglich")
10. Datei-Ein-/Ausgabe
Lies aus Dateien und schreibe in Dateien mit open().
with open("data.txt", "w") as f:
f.write("Hallo Welt")
with open("data.txt", "r") as f:
print(f.read())
11. String-Manipulation
Python-Strings haben leistungsstarke Methoden wie strip(), replace() und split().
text = " Hallo Welt "
print(text.strip())
print(text.upper())
print(text.replace("Hallo", "Hi"))
print(text.split())
12. Klassen & Objekte
Definiere wiederverwendbare Baupläne mit Klassen. Verwende __init__, um Objekte zu initialisieren.
class Person:
def __init__(self, name):
self.name = name
def greet(self):
return "Hi, ich bin " + self.name
p = Person("Alice")
print(p.greet())
🐞 Python-Code online debuggen
Mit dem Online-Python-Debugger findest du Logikfehler ohne lokale Installation. Das Debugging läuft im Servermodus mit Python 3.10 bis 3.13.
- Wähle im Laufzeitmenü eine serverbasierte Python-Version.
- Klicke neben eine Zeilennummer, um Haltepunkte zu setzen.
- Wähle Debug, um das Programm bis zum ersten Haltepunkt auszuführen.
- Prüfe Zeile und Variablen und nutze Fortsetzen, Überspringen, Hineinspringen oder Herausspringen.
- Beende die Debug-Sitzung mit Stop.
Beginne mit einem kleinen reproduzierbaren Beispiel und setze den Haltepunkt direkt vor die Stelle, an der ein Wert unerwartet wird. Der Servermodus unterstützt auch Workspace-Dateien und installierte Bibliotheken.