Man(n) kann diesen Feiertag sicher auch anders verbringen, man kann aber auch vor dem Rechner hocken und eine (Programmier-) Aufgabe aus dem Buch »Math Adventures with Python« lösen, die eine dekorative Graphik erzeugt. Die Aufgabe war eigentlich für (C-) Pythons Turtle-Modul gedacht, aber ich dachte mir, es würde doch sicher auch mit TigerJython Spaß machen. Die Aufgabe lautete:
Schreibe eine Funktion, die sechzig Quadrate zeichnet. Jedes Quadrat ist um fünf Grad gegenüber dem vorherigen verschoben und jedes Quadrat ist ein klein wenig größer als das vorherige Quadrat. Starte mit einer Länge von 5 Pixeln und vergrößere jedes folgende Quadrat um 5 Pixel.
So sieht meine Lösung aus:
from gturtle import * # Konstanten Deklaration WIDTH = 640 HEIGHT = 480 # Farben colors = [(150, 100, 255), (255, 100, 150), (150, 255, 100), (255, 150, 100)] start_length = 5 increment = 5 Options.setPlaygroundSize(WIDTH, HEIGHT) wn = TurtleFrame() wn.setTitle("Turtle Spirale") wn.clear(makeColor((234, 218, 184))) def square(turtle, side_length): for _ in range(4): turtle.forward(side_length) turtle.right(90) def spiral(turtle, start_length): side_length = start_length for i in range(60): turtle.setPenColor(makeColor(colors[i%4])) square(turtle, side_length) side_length += increment turtle.right(increment) alex = Turtle(wn) alex.hideTurtle() alex.penUp() alex.setPos(-90, -105) alex.right(90) alex.setPenWidth(2) alex.penDown() spiral(alex, start_length) print("I did it, Babe!")
Da es bei der Turtle ja fast immer um dekorative Graphiken geht, habe ich noch ein paar (Neon-) Farben hineingeschmuggelt und die Breite des Stifts auf zwei gesetzt. Mir gefällt das Ergebnis.
Über …
Der Schockwellenreiter ist seit dem 24. April 2000 das Weblog digitale Kritzelheft von Jörg Kantel (Neuköllner, EDV-Leiter Rentner, Autor, Netzaktivist und Hundesportler — Reihenfolge rein zufällig). Hier steht, was mir gefällt. Wem es nicht gefällt, der braucht ja nicht mitzulesen. Wer aber mitliest, ist herzlich willkommen und eingeladen, mitzudiskutieren!
Alle eigenen Inhalte des Schockwellenreiters stehen unter einer Creative-Commons-Lizenz, jedoch können fremde Inhalte (speziell Videos, Photos und sonstige Bilder) unter einer anderen Lizenz stehen.
Der Besuch dieser Webseite wird aktuell von der Piwik Webanalyse erfaßt. Hier können Sie der Erfassung widersprechen.
Diese Seite verwendet keine Cookies. Warum auch? Was allerdings die iframes
von Amazon, YouTube und Co. machen, entzieht sich meiner Kenntnis.
Werbung
Diese Spalte wurde absichtlich leergelassen!