Anleitung
Python-Lernumgebung
Python direkt im Browser schreiben und ausführen — so funktioniert's.
Python-Umgebung öffnenWas ist das?
Eine kleine Programmierumgebung, die komplett im Browser läuft (Technologie: Pyodide/WebAssembly). Es muss nichts installiert werden, und es gibt keinen Account. Eigener Python-Code wird direkt im eigenen Browser ausgeführt — nicht auf dem Server.
Der Editor
Der Code-Editor (CodeMirror) bringt Syntax-Hervorhebung,
Klammer-Ausgleich und eine einfache Autovervollständigung mit
(Strg+Leertaste — schlägt Python-Schlüsselwörter,
bereits verwendete Namen sowie die minipygame-/
schildkroete-Methoden vor; kein vollständiges
Sprachverständnis wie in einer großen IDE).
Bedienelemente im Überblick
- Neues Projekt starten — legt eine neue, leere Datei an und schaltet auf die eigenen Dateien um
- Neue Datei — fügt dem aktuellen Projekt eine weitere Datei hinzu
- Beispiele ▾ — öffnet eine der mitgelieferten Beispieldateien, ohne das eigene Projekt zu stören
- Datei hochladen —
.py,.txt,.csv,.png,.jpg/.jpeg - Datei löschen — entfernt die gerade offene eigene Datei
- Alle zurücksetzen — wirft eigene Änderungen weg, stellt den Auslieferungszustand wieder her
- Paket als ZIP speichern / ZIP-Paket laden — kompletten Stand sichern und wiederherstellen
- Ausführen — führt die gerade offene Datei aus
- Herunterladen — speichert nur die aktuell offene Datei als
.py - Ausgabe leeren — löscht nur den Konsolentext, nicht den Code
Beispiele
ampel.py— eine Ampel als Zustandsautomat (Klasse, kein eigenes Ergebnis — wird von anderen Dateien importiert)kreuzung.py— zwei Ampeln an einer Kreuzung, nutztampel.pyper Importkreuzung_bild.py— dieselbe Kreuzung, aber das Ampel-Gehäuse ist ein hochgeladenes Bild statt gezeichnetfunktionsplot.py— Funktionsgraphen mit numpy/matplotlibmonte_carlo_pi.py— die Zahl Pi per Zufallsversuch schätzen, live visualisiertfraktal_baum.py— ein rekursiver Fraktalbaumkochkurve.py— die Koch-Schneeflocke, ein klassisches Fraktal
Eigene Dateien und Bilder
Über „Datei hochladen" lassen sich .py-,
.txt-, .csv- und Bilddateien (.png/.jpg)
einbinden. Textdateien werden zu eigenen Reitern, Bilder/CSVs erscheinen
als kleine Chips und lassen sich im Code ganz normal per
open("dateiname.csv") lesen.
Zeichnen: minipygame
Für Grafik-Übungen steht das Objekt minipygame bereit —
eine kleine, eigene Zeichenbibliothek (kein echtes Pygame, dafür
zuverlässig im Browser). Vollständige Methodenliste:
minipygame.fill((r,g,b))— Hintergrund füllenminipygame.kreis(x, y, radius, (r,g,b))minipygame.rechteck(x, y, breite, hoehe, (r,g,b))minipygame.text(x, y, "text")await minipygame.warte(sekunden)— Pause in Animationsschleifen (wichtig, siehe „Gut zu wissen")await minipygame.bild_laden("datei.png")— einmalig vor der ersten Nutzungminipygame.bild("datei.png", x, y, breite, hoehe)— zeichnet das geladene Bild
Zeichnen: schildkroete (Turtle-Grafik)
Für Rekursion und Fraktale steht schildkroete bereit —
orientiert an der klassischen Turtle-Logik: (0,0) ist die Mitte,
0° zeigt nach rechts, positive Winkel drehen gegen den Uhrzeigersinn.
Vollständige Methodenliste:
schildkroete.vorwaerts(laenge)/rueckwaerts(laenge)schildkroete.rechts(winkel)/links(winkel)/richtung(winkel)schildkroete.stift_hoch()/stift_runter()schildkroete.farbe("blau")oderfarbe(r,g,b)— benannte Farben: rot, gruen, blau, gelb, weiss, schwarz, orange, lila, pink, braun, grauschildkroete.stiftbreite(breite)schildkroete.springe_zu(x,y)— Positionswechsel ohne zu zeichnenschildkroete.gehe_zu(x,y)— Positionswechsel, zeichnet dabei (wenn Stift unten)schildkroete.position()— gibt(x, y)zurückschildkroete.reset()— setzt Position/Richtung zurück und leert die Zeichenfläche
Verfügbare Pakete
Neben der Python-Standardbibliothek (math, random,
statistics, json, re usw. — immer
sofort verfügbar, kein Nachladen nötig) werden folgende Pakete automatisch
erkannt und bei Bedarf aus dem Internet nachgeladen, sobald sie in irgendeiner
Projektdatei importiert werden:
-
numpy — Rechnen mit Zahlenfeldern/Vektoren.
import numpy as np; werte = np.linspace(-5, 5, 100) -
matplotlib — Diagramme zeichnen. Am Ende
zeige_plot()aufrufen, um das Diagramm im Anzeige-Feld darzustellen (siehefunktionsplot.py). -
pandas — Tabellendaten auswerten, z. B. aus
einer hochgeladenen
.csv-Datei:import pandas as pd; tabelle = pd.read_csv("daten.csv") -
sympy — symbolisches Rechnen (Gleichungen lösen,
Terme vereinfachen, Ableitungen):
import sympy as sp
x = sp.symbols("x")
print(sp.solve(sp.Eq(x**2 - 4*x + 3, 0), x)) -
Pillow (Modulname beim Importieren:
PIL) — Bilder programmatisch erzeugen/bearbeiten. Ein erzeugtes Bild lässt sich speichern und danach wie ein hochgeladenes Bild anzeigen:from PIL import Image, ImageDraw
bild = Image.new("RGB", (100,100), "white")
ImageDraw.Draw(bild).ellipse([10,10,90,90], fill="red")
bild.save("kreis.png")
await minipygame.bild_laden("kreis.png")
minipygame.bild("kreis.png", 0, 0, 100, 100)
Weitere der zahlreichen in Pyodide enthaltenen Pakete lassen sich bei Bedarf ergänzen.
Speichern
Alles läuft nur im Arbeitsspeicher des Browsers — beim Neuladen der Seite ist der Stand weg. Über „Paket als ZIP speichern" lässt sich das komplette Projekt (alle Dateien + Bilder) als Datei sichern und später über „ZIP-Paket laden" wieder herstellen. Einzelne Dateien lassen sich auch separat über „Herunterladen" sichern.
Gut zu wissen
- Eine Schleife ganz ohne
await(z. B. versehentlicheswhile True:) blockiert den Tab — dann hilft nur Neu laden. - Alle nachgeladenen Pakete (numpy, matplotlib, pandas, sympy, Pillow) brauchen beim ersten Gebrauch eine Internetverbindung — ohne Internet funktionieren nur Beispiele ohne diese Importe.
- Hochgeladene Dateien und ZIP-Pakete verlassen den eigenen Browser nie — nichts wird an einen Server übertragen.