Es gibt eine Schildkröte mit einem Stift. Wenn Sie die Schildkröte mit einem einfachen Befehl bewegen, zeichnet der Stift der Schildkröte die Spur der Bewegung der Schildkröte als Linie. Da Sie sich bewegen können, während Sie den Stift anheben, können Sie Figuren zeichnen, die nicht mit einem einzigen Strich gezeichnet werden. Sie können auch die Farbe und Dicke des Stifts ändern.
Turtle Graphics erschien erstmals 1967 mit der Sprache LOGO und wird auch in der Programmierausbildung für Kinder verwendet. Es ist leicht zu verstehen, da die Bedienung durch die Anweisung sichtbar ist und das Programmieren durch Kombinieren verschiedener Anweisungen schneller zu verstehen ist. http://en.wikipedia.org/wiki/Turtle_graphics
Unter Windows können Sie Turtle Graphics auch verwenden, indem Sie Python installieren. Außer Windows müssen Sie möglicherweise zusätzliche externe Grafikbibliotheken installieren.
Stellen Sie zunächst sicher, dass Python installiert ist. Lesen Sie unter Windows Folgendes, und aktivieren Sie die Option python.exe zum Pfad hinzufügen, um Python zu installieren.
Python-Installation in der Windows-Umgebung http://qiita.com/maisuto/items/404e5803372a44419d60
Als nächstes überprüfen wir, ob sich die Schildkröte bewegt.
C:\Users\home> python -m turtle
Es sollte unter Windows gut funktionieren. In anderen Umgebungen wird möglicherweise ein Fehler angezeigt, der dem folgenden ähnelt:
$ python -m turtle
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/usr/lib/python2.7/lib-tk/turtle.py", line 107, in <module>
import Tkinter as TK
File "/usr/lib/python2.7/lib-tk/Tkinter.py", line 42, in <module>
raise ImportError, str(msg) + ', please install the python-tk package'
ImportError: No module named _tkinter, please install the python-tk package
In diesem Fall müssen Sie das python-tk-Paket wie in der letzten Zeile beschrieben installieren. Installieren Sie das Paket für Debian / Ubuntu Linux wie folgt.
$ sudo apt-get install python-tk
Wenn es überhaupt nicht funktioniert, versuchen Sie, die neueste Version von Python zu installieren.
Starten Sie den Python-Interpreter und importieren Sie das Turtle-Paket.
C:\Users\home> python
>>> from turtle import *
Sie können mit dir () und help () überprüfen, was Sie der Schildkröte befehlen können.
>>> dir()
['Pen', 'RawPen', 'RawTurtle', 'Screen', 'ScrolledCanvas', 'Shape', 'Terminator', 'Turtle', 'TurtleScreen', 'Vec2D', '__builtins__', '__doc__', '__name__', '__package__', 'acos', 'addshape', 'asin', 'atan', 'atan2', 'back', 'backward', 'begin_fill', 'begin_poly', 'bgcolor', 'bgpic', 'bk', 'bye', 'ceil', 'circle', 'clear', 'clearscreen', 'clearstamp', 'clearstamps', 'clone', 'color', 'colormode', 'cos', 'cosh', 'degrees', 'delay', 'distance', 'done', 'dot', 'down', 'e', 'end_fill', 'end_poly', 'exitonclick', 'exp', 'fabs', 'fd', 'fill', 'fillcolor', 'floor', 'fmod', 'forward', 'frexp', 'get_poly', 'getcanvas', 'getpen', 'getscreen','getshapes', 'getturtle', 'goto', 'heading', 'hideturtle', 'home', 'ht', 'hypot', 'isdown', 'isvisible', 'ldexp', 'left', 'listen', 'log', 'log10', 'lt', 'mainloop', 'mode', 'modf', 'onclick', 'ondrag', 'onkey', 'onrelease', 'onscreenclick', 'ontimer', 'pd', 'pen', 'pencolor', 'pendown', 'pensize', 'penup', 'pi', 'pos', 'position', 'pow', 'pu', 'radians', 'register_shape', 'reset', 'resetscreen','resizemode', 'right', 'rt', 'screensize', 'seth', 'setheading', 'setpos', 'setposition', 'settiltangle', 'setundobuffer', 'setup', 'setworldcoordinates', 'setx', 'sety', 'shape', 'shapesize', 'showturtle', 'sin', 'sinh', 'speed', 'sqrt', 'st', 'stamp', 'tan', 'tanh', 'tilt', 'tiltangle', 'title', 'towards', 'tracer','turtle', 'turtles', 'turtlesize', 'undo', 'undobufferentries', 'up', 'update','width', 'window_height', 'window_width', 'write', 'write_docstringdict', 'xcor', 'ycor']
>>> help(Turtle)
>>> help(foward)
>>> help(back)
>>> help(left)
>>> help(right)
>>> help(up)
>>> help(down)
>>> help(color)
>>> help(clear)
>>> help(bye)
Weitere Informationen finden Sie in der Online-Dokumentation. http://docs.python.jp/2/library/turtle.html
Lassen Sie uns als Ausgangspunkt einfach die Schildkröte bewegen.
>>> forward(100) #Machen Sie 100 Schritte
>>> circle(100) #Zeichnen Sie einen Kreis mit einem Radius von 100
>>> left(90) #90 Grad nach links
>>> color('red') #Halten Sie einen roten Stift
>>> forward(100) #Machen Sie 100 Schritte
Lassen Sie uns den Vorgang wiederholen und ein Muster zeichnen.
>>> for i in range(0, 360, 30): #Alle 30 Grad von 0 Grad bis 360 Grad
... circle(50) #Geben Sie die TAB-Taste am Anfang der Zeile ein, um sie einzurücken(Schritt zurück)
... left(30) #Geben Sie die TAB-Taste am Anfang der Zeile ein, um sie einzurücken(Die Erklärung wurde im Folgenden weggelassen)
... #Der Vorgang beginnt mit der Eingabe eines Zeilenumbruchs am Zeilenanfang
>>> color('green'):
>>> for i in range(0, 360, 30):
... circle(30)
... left(30)
... forward(10)
... #Der Vorgang beginnt mit der Eingabe eines Zeilenumbruchs am Zeilenanfang
Zeichnen wir einen Stern, indem wir einen Stern als Funktion zeichnen.
>>> def star(size):
... for i in 1,2,3,4,5:
... forward(size)
... right(180 - 180/5)
... #Die Funktionsdefinition endet mit der Eingabe eines Zeilenumbruchs am Zeilenanfang
>>> reset()
>>> star(100)
>>> color('green')
>>> begin_fill()
>>> star(50)
>>> end_fill()
>>> def fractal(size, depth=0):
... if depth <= 0:
... forward(size) #Gerade Linie
... else:
... fractal(size/3, depth-1); left(60) #1/Fraktale Zeichnung mit einer Länge von 3, 60 Grad nach links gerichtet
... fractal(size/3, depth-1); left(-120) #1/Fraktale Zeichnung mit einer Länge von 3, 120 Grad nach rechts gerichtet
... fractal(size/3, depth-1); left(60) #1/Fraktale Zeichnung mit einer Länge von 3, 60 Grad nach links gerichtet
... fractal(size/3, depth-1) #1/Fraktale Zeichnung mit einer Länge von 3
... (Leerzeileneingang) #Die Funktionsdefinition endet mit der Eingabe eines Zeilenumbruchs am Zeilenanfang
... reset(); fractal(200)
... reset(); fractal(200, 1)
... reset(); fractal(200, 2)
... reset(); fractal(200, 3)
>>> reset(); goto(-100,-100); clear()
>>> for i in "12345":
... fractal(200, 3)
... left(360/5)
... (Leerzeileneingang)
Das ist alles für den ersten Teil. Im zweiten Teil werde ich mit mehreren Schildkröten spielen und den Schildkröten neue Bewegungen hinzufügen.
Recommended Posts