Seitenlängen mit Python
Die folgende Zauberrolle zeichnet zwei gleichseitige Dreiecke mit Seitenlängen 100 und 120.
Hinter ein Nummernzeichen »#« kann ein Text geschrieben werden, der bei der Ausführung einer Zauberrolle ignoriert werden soll.
- Zauberrolle 0
from turtle import *
bgcolor( 0, 0, 0 )s = 100
pensize( 5 ) # Stiftgroesse
pencolor( 0, 0.6, 0.9 )
forward( s )
left( 120 )
forward( s )
left( 120 )
forward( s )
left( 120 )s = 120
pensize( 2 )
pencolor( 0, 0.9, 0.6 )
forward( s )
left( 120 )
forward( s )
left( 120 )
forward( s )
left( 120 )
Bei der Nutzung von Zaubersprüchen können Zahlen durch Buchstaben ersetzt werden. So kann an Stelle von »forward( 120 )« beispielsweise auch »forward( s )« verwendet werden.
Es ist nun relativ einfach, die Größe eines der Dreieck zu ändern, denn dafür ist jeweils nur eine Änderung nötig.
Abkürzungen für Zauberwörter
Wir können nun auch eigene Abkürzungen für Zauberwörter festlegen (aber nur für Wörter, nicht für längere Zauberformeln!).
- Zauberrolle 1
from turtle import *
bgcolor( 0, 0, 0 )
s = 120
f = forward
l = left
pensize( 2 )
pencolor( 0, 0.9, 0.6 )
f( s )
l( 120 )
f( s )
l( 120 )
f( s )
l( 120 )
Abkürzungen für Listen
Auch für Listen mehrerer Zahlen lassen sich Abkürzungen (Namen) festlegen.
- Zauberrolle 2
from turtle import *
b = 0, 0, 0
g = 0, 0.9, 0.6
bgcolor( b )
s = 120
f = forward
l = left
pensize( 2 )
pencolor( g )
f( s )
l( 120 )
f( s )
l( 120 )
f( s )
l( 120 )
Namen
Namen dürfen auch Ziffern »1« und Grundstriche enthalten »_«, aber nicht mit einer Ziffer beginnen; sie dürfen auch mehrere Zeichen enthalten.
- Zauberrolle 2
from turtle import *
_ = 0, 0, 0
green = 0, 0.9, 0.6
bgcolor( _ )
side_length = 120
f = forward
l = left
pensize( 2 )
pencolor( g )
f( side_length )
l( 120 )
f( side_length )
l( 120 )
f( side_length )
l( 120 )
1. Spiel
Links von einem Gleichheitszeichen können auch noch andere Buchstaben (oder Wörter) an Stelle von »s« verwendet werden.
Für wiederholt vorkommende Werte (wie 100) sollte möglichst ein Name vergeben werden, wie dies in Zauberrolle 0 mit »s = 100« geschah. Können Sie in Zauberrolle 0 noch andere Werte entdecken, die sich wiederholen? Definieren Sie einen weiteren Namen für jene Werte!
2. Spiel
Können Sie eine Zauberrolle schreiben, die zwei Quadrate mit den Seitenlängen 100 und 200 zeichnet? Hierzu kann die letzte Zauberrolle genommen und etwas verändert werden!
(Falls Sie noch Zeit haben, können Sie danach eine der folgenden Varianten schreiben: die beiden Quadrate sollen sich nicht überlappen; die beiden Quadrate sollen denselben Mittelpunkt haben; die beiden Quadrate sollen mit einer Farbe gefüllt, aber beide zumindest teilweise sichtbar sein)