Python Online
Home    .  

Beispielprogramme mit Klick auf Links

Demonstrationen

Programm Feature
HelloPython.py HelloWorld in Python
Goldstein5.py Turtlegrafik (forward/right-Paare)
Peano.py Fraktal mit Turtlegrafik
Spirolateral.py Turtlegrafik (Rekursionen)
Mondrian.py Computerkunst
DotArt.py Turtlegrafik, Zufall und repeat-Struktur
TreeFractal.py Fraktaler Baum


Turtlegrafik

Modul Import: from gturtle import *
Mit * markierte Befehle werden nur mit dem Online-Editor unterstützt

Befehl Aktion
makeTurtle() erzeugt eine (globale) Turtle und zeigt sie in der Homeposition an
*makeTurtle(autoRefresh = True, mouseHit = None) erzeugt eine (globale) Turtle (und gibt eine Referenz darauf zurück). Für autoRefresh = False, ist der Animationsmodus gewählt, in dem die Turtle versteckt bleibt und Zeichnungsoperationen zuerst in einen Hintergrundbuffer kopiert werden, bevor sie mit refresh() auf dem Bildschirm erscheinen. Wird als Parameter von mouseHit eine Callbackfunktion onMouseHit(x, y) angegeben, so wird diese beim Klick in das Turtlefenster mit den aktuellen Mousekoordinaten aufgerufen. Der Callback darf nicht der Bezeichner einer Turtlefunktion sein
back(distance), bk(distance) bewegt Turtle rückwärts
forward(distance), fd(distance) bewegt Turtle vorwärts
hideTurtle(), ht() macht Turtle unsichtbar (Turtle zeichnet schneller)
left(angle), lt(angle) dreht Turtle um den gegebenen Winkel (in Grad) nach links
right(angle), rt(angle) dreht Turtle um den gegebenen Winkel (in Grad) nach rechts
penDown(), pd() setzt Zeichenstift ab (Spur sichtbar)
penUp(), pu() hebt den Zeichenstift (Spur unsichtbar)
setPenWidth(width) setzt die Dicke des Stifts in Pixel
showTurtle(), st() zeigt Turtle
speed(speed) setzt Turtlegeschwindigkeit im Bereich 1..10 (-1: maximale Geschwindigkeit)
delay(time) hält das Programm während der Zeit time (in Millisekunden) an
*distance(x, y) gibt die Entfernung der Turtle zum Punkt(x, y) zurück (als float)
getPos() gibt die aktuelle Turtleposition zurück als Tupel mit zwei ints
getX() gibt die aktuelle x-Koordinate der Turtle zurück (int)
getY() gibt die aktuelle y-Koordinate der Turtle zurück (int)
setPos(x, y) setzt Turtle auf die Position (x, y) ohne eine Spur zu zeichnen
setX(x) setzt Turtle auf x-Koordinate ohne eine Spur zu zeichnen
setY(y) setzt Turtle auf y-Koordinate ohne eine Spur zu zeichnen
*setRandomPos(width, height) setzt Turtle auf einen zufälligen Punkt im Rechteck mit gegebener Länge/Breite. Falls die Parameter fehlen, umfasst das Rechteck das ganze Turtlefenster
heading(degrees = None) gibt die Richtung der Turtle zurück, (0 gegen oben, im Uhrzeigersinn). Falls degrees angegeben, wird die Richtung gesetzt
setHeading(degrees), setH(degrees) setzt die Richtung der Turtle (0 gegen oben, im Uhrzeigersinn)
*setRandomHeading() setzt die Richtung zufällig zwischen 0 und 360°
moveTo(x, y) bewegt Turtle auf die Position (x, y)
*towards(x, y) gibt die Richtung (in Grad) zur Position (x, y) (0 gegen oben, im Uhrzeigersinn)
*stampTurtle(), st() erstellt an der Turtleposition ein festbleibendes Turtlebild
delay(ms) hält das Programm während ms (Millisekunden) an
label(text) schreibt an der Turtleposition den Text aus
clear() löscht die Zeichnung, die Turtle bleibt am Ort und ist unsichtbar
clean() löscht die Turtlespuren, die Turtle bleibt am Ort sichtbar
clearScreen(), cs() löscht die Turtlespuren und setzt die Turtle in die Homeposition
sqrt(x) gibt die Quadratwurzel aus der Zahl zurück
*drawImage(index) zeichnet das Bild mit gegebenem Index aus einer Bildliste, die mit dem Button 'Bilder laden'' geladen wurde. Die Bildmitte ist an der aktuellen Position der Turtle und die Orientierung entspricht der Blickrichtung der Turtle. Den Bildern wird beim Laden ein Index in alphabetischer Reihenfolge des Dateinamens gemäss dem ASCII-Code zugewiesen (Spezialzeichen vermeiden)
*drawImage() dasselbe, aber es wird nur das Bild mit Index 0 verwendet
*drawImage(x, y, dir, index) dasselbe, aber das Bild mit Index index wird mit Bildmitte bei x, y in der Richtung dir (in Grad, 0 gegen Norden, im Uhrzeigersinn positiv) gezeichnet
*refresh() zeichnet den Hintergrundbuffer auf den Bildschirm (falls autoRefresh = False gesetzt wurde)
*registerKey(key, callback) registriert eine Callbackfunktion, die beim Drücken der Taste key (Kleinbuchstaben "a",..,"z", "up", "down", "left", "right") aufgerufen wird. Der Callback darf nicht der Bezeichner einer Turtlefunktion sein. Die Callbacks sind nur aktiv, falls das Turtlefenster mit einem Mausklick den Fokus erhält
*getTurtle() liefert eine Referenz auf die globale Turtle zurück (Skulpt API Doc)
*getScreen() liefert eine Referenz auf die Screeninstanz zurück
*animate(enable) für enable = False ist das Turtlebild nicht mehr sichtbar und die Grafik läuft mit maximaler Geschwindigkeit


Farben
(Farben werden als Strings angegeben, ihre Namen sind hier ersichtlich)
dot(diameter) zeichnet einen mit der Stiftfarbe gefüllten Kreis
setPenColor(color) legt Stiftfarbe fest
setFillColor(color) legt Füllfarbe fest, dies ist auch die Füllfarbe der Turtle
startPath() startet die Aufzeichnung der Turtlebewegung zum nachträglichen Füllen
fillPath() verbindet die aktuelle Turtleposition mit dem Startpunkt und füllt die geschlossene Figur mit der Füllfarbe
getPixelColorStr() gibt die Farbe (als Hex-String) des Pixels zurück, auf dem sich die Turtle gerade befindet

 

(ohne zusätzlichen Import)

inputInt(prompt) öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegebenen Integer zurück (falls kein Integer, wird Dialog neu angezeigt). Abbrechen gibt None zurück
inputFloat(prompt) öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegebenen Float zurück (falls kein Float, wird Dialog neu angezeigt). Abbrechen gibt None zurück
input(prompt) öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt Eingabe als Integer, Float oder String zurück. Abbrechen gibt None zurück
isInteger(x) liefert True, falls x ein Integer ist; sonst False
msgDlg(message) öffnet einen modalen Dialog mit einem OK-Button und gegebenem Mitteilungstext