TigerJython | xx für Gymnasien |
Module import: from gturtle import *
Spickzettel (die wichtigsten Python-Befehle)
Funktion | Aktion |
makeTurtle() | erzeugt eine (globale) Turtle im neuen Grafikfenster |
makeTurtle(color) | erzeugt eine Turtle mit angegebener Farbe |
makeTurtle("sprites/turtle.gif") | erzeugt Turtle mit einem eigenen Turtle-Bild turtle.gif |
t = Turtle() | erzeugt ein Turtleobjekt t |
tf = TurtleFrame() | erzeugt ein Bildschirmfenster, in dem mehrere Turtles leben |
t = Turtle(tf) | erzeugt ein Turtleobjekt t im TurtleFrame tf |
clone() | erzeugt ein Turtleklon (gleiche Farbe, Position, Blickrichtung) |
isDisposed() | gibt True zurück, falls das Turtlefenster geschlossen ist |
putSleep() | hält den Programmablauf an, bis wakeUp() aufgerufen wird |
wakeUp() | führt angehaltenen Programmablauf weiter |
enableRepaint(False) | schaltet das automatische Bildschirmrendering aus |
repaint() | rendert den Bildschirm (nach dem Ausschalten des automatischen Rendering) |
savePlayground() | speichert den Playground in einem internen Bildbuffer (zurückholen mit clear()) |
savePlayground(fileName, format) | speichert den Playground als Bilddatei (format: "png" oder "gif"). Im Fehlerfall wird False zurückgegeben |
Options.setFramePosition(x, y) | setzt die obere linke Ecke des Turtlefensters an die gegebene Bildschirmposition (muss vor makeTurtle() aufgerufen werden) |
Options.setPlaygroundSize(width, height) | setzt die Grösse des Turtlefensters unabhängig von den Einstellungen in TigerJython (muss vor makeTurtle() aufgerufen werden) |
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) |
home() | setzt Turtle in die Mitte des Fensters mit Richtung nach oben |
left(angle), lt(angle) | dreht Turtle nach links |
penDown(), pd() | setzt Zeichenstift ab (Spur sichtbar) |
penErase(), pe() | setzt die Stiftfarbe auf die Hintergrundfarbe |
leftArc(radius, angle) | bewegt Turtle auf einem Bogen mit dem Sektor-Winkel angle nach links |
leftCircle(radius) | bewegt Turtle auf einem Kreis nach links |
penUp(), pu() | hebt den Zeichenstift (Spur unsichtbar) |
penWidth(width) | setzt die Dicke des Stifts in Pixel |
right(angle), rt(angle) | dreht Turtle nach rechts |
rightArc(radius, angle) | bewegt Turtle auf einem Bogen mit dem Sektor-Winkel angle nach rechts |
rightCircle(radius) | bewegt Turtle auf einem Kreis nach rechts |
setCustomCursor(cursorImage) | wählt die Bilddatei des Mauscursors |
setCustomCursor(cursorImage, Point(x, y)) | wählt die Bilddatei des Mauscursors unter Angabe der Mausposition innerhalb des Bildes |
setLineWidth(width) | setzt die Dicke des Stifts in Pixel |
showTurtle(), st() | zeigt Turtle |
speed(speed) | setzt Turtlegeschwindigkeit (1 bis 1000, default 200) Bei speed(-1) bewegt sich Turtle am schnellsten (ohne Animation) |
delay(time) | hält das Programm während der Zeit time (in Millisekunden) an |
wrap() | setzt Turtlepositionen ausserhalb des Fensters ins Fenster zurück |
clip() | turtles ausserhalb des Fensters sind nicht sichtbar |
savePlayground(fileName, format) | speichert den Playground als Bilddatei (format: "png" oder "gif"). FileName kann eine absolute Pfadeingabe sein (z.B. "c:/scratsch/turtlebild.gif") |
setPlaygroundSize(width, height) | setzt die Grösse des Turtlefensters unabhängig von den Einstellungen in TigerJython (muss vor makeTurtle() aufgerufen werden) |
setFramePosition(x, y) | setzt die obere linke Ecke des Turtlefensters an die gegebene Bildschirmposition |
setFramePositionCenter() | setzt das Turtlefensters in Bildschirmmitte |
direction(x, y) | gibt den Winkel (in Grad) für die Drehung zur Position (x, y) zurück |
direction(coords) | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
direction(turtle) | gibt den Winkel (in Grad) für die Drehung zu einer anderen Turtle zurück |
distance(x, y) | gibt die Entfernung der Turtle zum Punkt(x, y) zurück |
distance(coords) | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
getPos() | gibt die Turtleposition zurück als Punkt |
getX() | gibt die aktuelle x-Koordinate der Turtle zurück |
getY() | gibt die aktuelle y-Koordinate der Turtle zurück |
heading() | gibt die Richtung der Turtle zurück |
heading(degrees) | setzt die Richtung der Turtle (0 ist gegen oben, im Uhrzeigersinn) |
moveTo(x, y) | bewegt Turtle auf die Position (x, y) |
moveTo(coords) | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
setHeading(degrees), setH(degrees) | setzt die Richtung der Turtle (0 gegen oben, im Uhrzeigersinn) |
setRandomHeading() | setzt die Richtung zufällig zwischen 0 und 360° |
setPos(x, y) | setzt Turtle auf die Position (x, y) |
setPos(coords) | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
setX(x) | setzt Turtle auf x-Koordinate |
setY(y) | setzt Turtle auf y-Koordinate |
setRandomPos(width, height) | setzt Turtle auf einen zufälligen Punkt im Bereich 0..width, 0..height |
setScreenPos(x, y) | setzt Turtle auf gegebene Pixelkoordinaten (x, y) |
setScreenPos(Point(x, y)) | setzt Turtle auf gegebene Pixelkoordinaten |
towards(x, y) | gibt die Richtung (in Grad) zur Position (x, y) (auch list, tuple, complex) |
towards(turtle2) | gibt die Richtung (in Grad) zu einer anderen Turtle turtle2 zurück |
toTurtlePos(x, y) | gibt die Turtlekoordinaten zu den gegebenen Pixelkoordinaten (x, y) als Liste zurück |
toTurtlePos(Point(x, y)) | gibt die Turtlekoordinaten zu den gegebenen Pixelkoordinaten als Liste zurück |
pushState() | speichert den Turtlezustand in einem Stapelspeicher |
popState() | holt den zuletzt gespeicherten Zustand vom Stapelspeicher |
clearStates() | löscht den Stapelspeicher |
askColor(title, defaultColor) | zeigt ein Fenster zur Farbwahl und gibt die gewählte Farbe zurück, (None, wenn Abbrechen gedrückt wurde)title: Fenstertitel an, defaultColor: Farbvorschlag |
clear() | löscht die Zeichnung und versteckt alle Turtles (sie bleiben am Ort). Falls der mit savePlayground() erzeugte Bildbuffer nicht leer ist, wird dieser angezeigt |
clear(color) | löscht die Zeichnung, versteckt alle Turtles (sie bleiben am Ort) und färbt den Hintergrund |
clean() | löscht die Turtlespuren (Turtles bleiben am Ort sichtbar). Der mit savePlayground() erzeugte Bildbuffer wird gelöscht |
clean(color) | löscht die Zeichnung und färbt den Hintergrund (Turtles bleiben am Ort sichtbar). |
clearScreen(), cs() | löscht die Turtlespuren und setzt die Turtle an Homeposition |
dot(diameter) | zeichnet einen mit Stiftfarbe gefüllten Kreis |
openDot(diameter) | zeichnet einen nicht gefüllten Kreis |
spray(density, spread, size) | zeichnet eine zufällige Punktwolke an der Turtleposition mit geg. Anzahl Punkten, Ausdehnung und Punktgrösse (ohne size: size = 1) |
fill() | füllt die geschlossene Figur, in der sich die Turtle befindet mit der Füllfarbe |
fill(x , y) | füllt eine geschlossene Figur um den inneren Punkt (x, y) mit der Füllfarbe |
fill(coords) | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
fillToPoint() | füllt fortlaufend die gezeichnete Figur von der aktuellen Turtleposition mit der Stiftfarbe |
fillToPoint(x , y) | füllt fortlaufend die gezeichnete Figur vom Punkt (x, y) mit der Stiftfarbe |
fillToPoint(coords | dasselbe, aber Koordinatenangabe als Liste, Tupel oder komplexe Zahl |
fillToHorizontal( y) | füllt fortlaufend die Fläche zwischen der Figur und der horizontalen Linie in Höhe y mit der Stiftfarbe |
fillToVertical(x) | füllt fortlaufend die Fläche zwischen der Figur und der vertikalen Linie am Wert xmit der Stiftfarbe |
fillOff() | beendet den fortlaufenden Füllmodus |
getColor() | gibt die Turtlefarbe zurück |
getColorStr() | gibt die X11-Turtlefarbe zurück |
getFillColor() | gibt die Füllfarbe zurück |
getFillColorStr() | gibt die X11-Füllfarbe zurück |
getPixelColor() | gibt die Farbe des Pixels an der Turtlekoordinate zurück (None, falls ausserhalb des Turtlefensters) |
getPixelColorStr() | gibt die Farbe des Pixels an der Turtlekoordinate als X11-Farbe zurück (leerer String, falls kein X11-Farbname existriert; None, falls ausserhalb des Turtlefensters) |
makeColor(value) | erzeugt eine Farbe. Werte-Beispiele: ("red"), ("7FFED4"), (0x7FFED4), (8388564), (0.5, 1.0, 0.83), (128, 255, 212), ("rainbow", n) mit n = 0..1, Lichtspektrum |
makeColor(color, alpha) | erzeugt eine transparente Farbe, 0 < alpha < 1 (makeColor("red", 0.25) ) |
getRandomX11Color() | gibt eine zufällige X11-Farbe zurück |
setColor(color) | legt Turtlefarbe fest |
setPenColor(color) | legt Stiftfarbe fest |
setPenWidth(width) | setzt die Dicke des Stiftes in Pixel |
setFillColor(color) | legt Füllfarbe fest |
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 |
stampTurtle() | erzeugt ein Turtlebild an der aktuellen Turtleposition |
stampTurtle(color) | erzeugt ein Turtlebild mit angegebener Farbe an der aktuellen Turtleposition |
makeTurtle(mouseNNN = onMouseNNN) auch mehrere, durch Komma getrennt |
registriert die Callbackfunktion onMouseNNN(x, y), die beim Mausevent aufgerufen wird. Werte für NNN: Pressed, Released, Clicked, Dragged, Moved, Entered, Exited, SingleClicked, DoubleClicked, Hit: Aufruf im eigenen Thread, HitX: Dasselbe, aber nachfolgende Events ignoriert, bis Callback zurückkehrt |
isLeftMouseButton(), isRightMouseButton() |
gibt True zurück, falls beim Event die linke bzw. rechte Maustaste verwendet wurde |
makeTurtle(keyNNN = onKeyNNN) |
registriert die Callbackfunktion onKeyNNN(keyCode), die beim Drücken einer Tastaturtaste aufgerufen wird. Werte für NNN: Pressed, Hit: Aufruf im eigenen Thread, HitX: Dasselbe, aber nachfolgende Events ignoriert, bis Callback zurückkehrt. keyCode ist ein für die Taste eindeutiger integer Code |
getKeyModifiers() | liefert nach einem Tastaturevent einen Code für Spezialtasten (Shift, Ctrl, usw., auch kombiniert) |
makeTurtle(closeClicked = onCloseClicked) | registriert die Callbackfunktion onCloseClicked(), die beim Klick des Close-Buttons des Turtlefensters aufgerufen wird. Das Fenster muss mit dispose() geschlossen werden |
makeTurtle(turtleHit=onTurtleHit) | registriert die Callbackfunktion onTurtleHit(x, y), die aufgerufen wird, wenn auf das Turtlebild geklickt wird |
t = Turtle(turtleHit = onTurtleHit) | registriert die Callbackfunktion onTurtleHit(t, x, y), die aufgerufen wird, wenn auf das Bild der Turtle t geklickt wird |
showSimulationBar(NNN = onNNN) | zeigt ein Dialogfenster mit den Button 'Step', 'Run'/'Pause', 'Reset' und einem Slider zum Einstellen der Simulationsperiode. Folgende Callbacks NNN können registiert werden: start, pause, step, reset, change(Parameter: simulationPeriod), loop, exit (close button gedrückt). loop wird in jedem Simulationszyklus vom Simulationsthread aufgerufen |
showSimulationBar(ulx, uly, initPeriod, NNN = onNNN) | wie oben, aber mit Positionierung des Dialogfensters (obere linke Ecke) und Anfangswert der Simulationsperiode (default: 100) |
hideSimulationBar() | schliesst das Dialogfenster und gibt alle Ressourcen frei |
getKey() | holt den letzten Tastendruck ab und liefert String zurück (leer, falls illegale Taste) |
getKeyCode() | holt den letzten Tastendruck ab und liefert Code zurück |
getKeyWait() | wartet bis Taste gedrückt und liefert String zurück (leer, falls illegale Taste) |
getKeyCodeWait() | wartet bis Taste gedrückt und liefert Code zurück |
kbhit() | liefert True, falls ein Tastendruck noch nicht mit getKey() od. getKeyCode() abgeholt ist |
makeTurtle(keyPressed = onKeyPressed) | mit dem Paramter keyPressed wird die Callbackfunktion onKeyPressed() regisriert |
onKeyPressed(key) | Callbackfunktion, liefert True, falls eine Taste gedrückt wurde und den Nummerischen Code der gedrückten taste |
addStatusBar(20) | fügt eine Statusbar mit der Höhe 20 Pixel hinzu |
beep() | erzeugt einen Ton |
playTone(freq) | spielt Ton mit gegebener Frequenz (in Hz) 1000 ms ( blockierende Funktion) |
playTone(freq, block = False) | das selbe, aber nicht blockierende Funktion (um mehrere Töne gleichzeitig abzuspielen) |
playTone(freq, duration) | spielt Ton mit gegebener Frequenz und Dauer |
playTone([f1, f2, f3 ...]) | spielt hintereinander mehrere Töne mit geg. Frequenzen |
playTone([(f1, d1),(f2, d2), (f3, d3)...]) | spielt hintereinander mehrere Töne mit geg. Frequenzen und Dauer |
playTone([("c", 700),("e", 1500)...] | spielt hintereinander mehrere Töne mit geg. Tonbezeichnungen und geg. Dauer. Erlaubt sind: grosse Oktave , ein- , zwei- und dreigestrichene Oktave also im Bereich c, c#, ...h''') |
playTone([("c", 700),("e", 1500)...], instrument="piano") | wie vorher, aber mit gewähltem Instrument (piano, quitar, harp, trumpet, organ, panfluete, seashore, violin, xylophone... (gemäss MIDI Spezifikation)). |
playTone([("c", 700),("e", 1500...)], instrument="piano", volumen = 10) | wie vorher, aber mit gewählten Lautstärke (0....100) |
label(param) | schreibt str(param) an der aktuellen Position aus (linksbündig) |
label(param1, param2, ...) | konkateniert str(params) mit Leerstellen getrennt und schreibt den Text aus |
label(param1, param2, ..., adjust = 'x' | dasselbe, aber mit x = 'l' linksbündig (default), 'c' zentriert, 'r' rechtsbündig |
printerPlot(draw) | druckt die mit der Funktion draw erstellte Zeichnung |
setFont(Font font) | legt Schriftart fest. font ist ein Objekt der Klasse Font Beispiel:. Font("Courier New", Font.BOLD, 12). Default: Font("SansSerif", Font.PLAIN, 24) |
setFont(name) | legt neue Schriftart mit bestehenden Schriftstil und Schriftgrösse fest |
setFont(name, style) | legt neue Schriftart und Schriftstil mit bestehender Schriftgrösse fest style = Font.PLAIN, Font.BOLD, Font.ITALIC |
setFont(name, style, size) | legt neue Schriftart, Schriftstil und Schriftgrösse fest |
setFontSize(size) | legt neue Schriftgrösse fest (Schriftart und Stil bleiben erhalten) |
getTextHeight() | liefert die Höhe des Texts im aktuellen Font (in Pixels) |
getTextAscent() | liefert die Höhe des Text-Ascenders im aktuellen Font (in Pixels) |
getTextDescent() | liefert die Höhe des Text-Decenders im aktuellen Font (in Pixels) |
getTextWidth(text) | liefert die Breite des gegebenen Texts im aktuellen Font (in Pixels) |
setStatusText("Press any key!") | schreibt eine Mitteilung in die Statusbar |
setTitle("Text") | schreibt den Text in die Titelzeile |
img = getImage(path) | lädt ein Bild (im png- gif, jpg-Format) vom lokalen Filesystem oder von einer URL und gibt eine Referenz darauf zurück. Für path = sprites/nnn werden auch Bilder von der TigerJython-Distribution geladen (Help/Bilderbibliothek zeigt die vorhanden Bilder) |
drawImage(img) | stelt das Bild img an der Position der Turtle mit ihrer Blickrichtung dar |
drawImage(path) | lädt ein Bild (im png-, gif-, jpg-Format) vom lokalen Filesystem oder von einer URL und stellt es an der Position der Turtle mit ihrer Blickrichtung dar. Für path = sprites/nnn werden auch Bilder von der TigerJython-Distribution geladen |
rec = VideoRecorder(turtle, filename, resolution) | erstellt einen MP4 (H.264/AVC) Video-Encoder, der das Turtlefenster Turtles, Spuren und Images) aufzeichnet und in der gegebenen Datei abgespeichert. resolution muss ein String mit einer unterstützten Auflösung sein, beispielsweise "640x480". getSupportedResolutions() liefert die aktuell unterstützten Auflösung |
rec = VideoRecorder(turtleFrame, filename, resolution) | dasselbe mit einem TurtleFrame |
rec = VideoRecorder(turtle, filename, resolution, ulx, uly) | dasselbe mit Angabe der Position der oberen linken Ecke des Turtlefensters bezüglich des Video-Bildes. Standardwerte 0, 0 |
rec = VideoRecorder(turtleFrame, filename, resolution) | dasselbe mit einem TurtleFrame |
VideoRecorder.getSupportedResolutions() | liefert einen String mit allen aktuell unterstützten Video-Auflösungen |
rec.captureImage() | nimmt ein einzelnes Bild (frame) auf. Die Aufnahme kann in beliebigen zeitlichen Abständen erfolgen. Die Bildabspielrate (frame rate) hängt von der Auflösung ab (normalerweise 25 frames / s) |
rec.captureImage(nb) | dasselbe, aber es werden nb gleiche Bilder aufgenommen |
rec.finish() | die Aufnahme wird beendet und die Videodatei geschlossen |
msgDlg(message) | öffnet einen modalen Dialog mit einem OK-Button und gegebenem Mitteilungstext |
msgDlg(message, title = title_text) | dasselbe mit Titelangabe |
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 od. Schliessen beendet das Programm |
inputInt(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern 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 od. Schliessen beendet das Programm |
inputFloat(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück |
inputString(prompt) | öffnet einen modalen Dialog mit OK/Abbrechen-Buttons. OK gibt den eingegeben String zurück. Abbrechen od. Schliessen beendet das Programm |
inputString(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern 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 od. Schliessen beendet das Programm |
input(prompt, False) | dasselbe, aber Abbrechen/Schliessen beendet das Programm nicht, sondern gibt None zurück |
askYesNo(prompt) | öffnet einen modalen Dialog mit Ja/Nein-Buttons. Ja gibt True, Nein gibt False zurück. Schliessen beendet das Programm |
askYesNo(prompt, False) | dasselbe, aber Schliessen beendet das Programm nicht, sondern gibt None zurück |
server = TCPServer(port, stateChanged, isVerbose = False) | erzeugt einen TCP-Socket-Server, der auf dem TCP-Port port auf Clients hört. Zustandsänderungen rufen stateChanged() auf. Für isVerbose = True werden Debug-Messages ausgeschrieben |
stateChanged(state, msg) | Callback, der bei Zustandsänderungen aufgerufen wird. |
server.isConnected() | True, falls ein Client mit dem Server verbunden ist |
server.disconnect() | beendet die Verbindung mit dem Client und geht in den LISTENING-Zustand |
server.terminate() | beendet die Verbindung und den LISTENNG-Zustand, gibt den IP-Port frei |
server.isTerminated() | True, falls der Server im TERMINATED-Zustand ist |
server.sendMessage(msg) | sendet die Information msg zum Client (als String, das Zeichen \0 (ASCII 0) dient als Endzeichen, automatisch transparent hinzugefügt und wieder entfernt). |
TCPServer.getVersion() | gibt die Version des Moduls als String zurück |
client = TCPClient(ipAddress, port, stateChanged, isVerbose = False) | erzeugt einen TCP-Socket-Client, der für eine Verbindung mit einem TCPServer mit der IP-Adresse ipAddress (String) und dem TCP-Port port vorbereitet ist. Zustandsänderungen rufen stateChanged() auf. Für isVerbose = True werden Debug-Messages auf der Console ausgeschrieben |
stateChanged(state, msg) | Callback, der bei Zustandsänderungen aufgerufen wird. state: TCPClient.CONNECTING, msg: IP Adresse des Servers state: TCPClient.CONNECTION_FAILED, msg: IP Adresse des Servers state: TCPClient.CONNECTED, msg: IP Adresse des Serveres state: TCPClient.DISCONNECTED, msg: leer state: TCPClient.MESSAGE, msg: vom Server erhaltene Message (String) |
client.connect() | erstellt eine Verbindung zum Server (blockierend bis Timeout). Gibt True zurück, falls die Verbindung zustande gekommen ist, sonst wird False zurückgegeben |
client.connect(timeout) | dasselbe, aber Angabe des Timeouts (in s) für den Verbindungsversuch |
client.isConnecting() | True, während der Client einen Connect-Versuch unternimmt |
client.isConnected() | True, falls der Client mit einem Server verbunden ist |
client.disconnect() | beendet die Verbindung mit dem Server |
client.sendMessage(msg, responseTime) | sendet die Information msg zum Server (als String, das Zeichen \0 (ASCII 0) dient als Endzeichen, automatisch transparent hinzugefügt und wieder entfernt). Für responseTime > 0 ist die Methode blockierend und erwartet innerhalb von responseTime (in s) eine Antwort. Die Antwort wird als Rückgabewert geliefert. Falls die Antwort nicht ankommt, wird None zurückgegeben |
TCPClient.getVersion() | gibt die Version des Moduls als String zurück |
Module import: import weather
info = weather.request(city, key = defaultKey) | macht einen Wetterdaten-Request bei http://openweathermap.org für den gegebenen Ort. Dabei wird der gegebene Authorisierungsschlüssel verwendet. Dieser kann man man kostenfrei auf diesem Host beziehen. (Wird der Parameter weggelassen, so wird ein Standardschlüssel verwendet, der maximal 60 Anfragen / min für alle Nutzer erlaubt.) Rückgabewert: Dictionary mit den Feldern:
|