Tutorial für Python Turtle (Malen)

Gute Links und Tutorials könnt ihr hier posten.
Antworten

Wie fandet ihr das Tutorial? War es Hilfreich?

Sehr Gut!
0
Keine Stimmen
Gut
3
100%
Naja...
0
Keine Stimmen
schlecht
0
Keine Stimmen
Es hat mir geholfen
0
Keine Stimmen
Es hat mir nicht geholfen
0
Keine Stimmen
Das Beste Tutorial der Welt!
0
Keine Stimmen
 
Insgesamt abgegebene Stimmen: 3
cool_brick24
User
Beiträge: 34
Registriert: Montag 10. September 2018, 12:45

Hallo an alle Einsteiger, an die das Tutorial gerichtet ist.
Mit Python kann man eine Menge machen. Aus meiner Sicht aus könnte es Java sogar schlagen.

Nochmal ganz schnell vorne dran: Ich Sage was wir machen wollen, poste den Code und erkläre den dann Stück für Stück.

Also nun zum heutigem Tutorial:
Turtle

Wer Turtle nicht kennt hier eine Kurze Einleitung:

Turtle ist ein , ich sag mal Addon, womit man in Python malen kann. Das geht auch mit PyGame. Turtle erstellt ein eigenes Fenster das so aussieht:

Bild

Damit wir malen können fangen wir jetzt an:

Zuerst müssen wir Turtle importieren, um die Funktionen zu benutzten

Das machen wir mit

Code: Alles auswählen

import turtle
Nun geben wir an das wir einen Turtle benutzten möchten, also:

Code: Alles auswählen

t = turtle.Turtle()

Es ist egal welchen Buchstaben benutzt. Ich habe "t" für Turtle benutzt.

Nun wollen wir malen. Als kleine Info: Beim Turtle hat man immer einen Pfeil also z.B. Ich sage: Turtle gehe nach vorne dann sieht das so aus:

"-------->"

So wir fangen jeztz an. Erstmal machen wir uns eine kleine Linie. Also

Code: Alles auswählen

t.forward(100)
das "forward" heißt das unser Turtle nach vorne geht. die "(100)" steht für 100 Pixel.

Speichern wir das Python Script und starten es mit F5 im Editor so öffnet sich die Shell (Die uns nicht interresiert) und einmal ein Fenster mit dem Title: "Python Turtle Graphics".
Auf dem Fenster sehen wir einen schwarzen Pfeil der von der Mitte des Fensters 100 Pixel nach vorne verläuft. Da wir keine Richtung angegeben haben, verläuft dieser Standart mäßig nacht Rechts.


Jetzt wollen wir die Richtung ändern. Also

Code: Alles auswählen

t.left(90)
"left" steht ,wie der Name schon sagt, für links. Stellt euch vor der Pfeil wäre ein Bus. Wenn wir "left" eingeben, dann meinen wir die Fahrtrichtung links. Natürlich kann man auch "right" eingeben also

Code: Alles auswählen

t.right(90)
Dann fährt der Bus in Fahrtrichtung rechts.
Die "(90)" steht für den Winkel. Für die Leute die unter der 6. Klasse sind oder Winkel noch nicht hatten:

-Winkel:
-360° Sind eine Umdrehung also stellt euch hin und dreht euch einmal.
-180° Sind eine halbe umdrehung. Also stellt euch hin und dreht euch ein halbes mal.
-Dann kommen noch 90° Also eine Viertel Bewegung, also die Hälfte von 180°.
Danach immer nur noch die hälfte.


Weiter gehts:

Da wir jetzt uns drehen können, können wir wieder den

Code: Alles auswählen

 t.forward(100)
benutzen, damit unser Pfeil nach oben fährt.

Kleine Info:
Bei Turtle ist immer ein Pfeil da, der unendlich lang ist. Du kannst nicht die länge des Pfeile bestimmem, aber später auch die Farbe. (Wird noch erklärt)



Zwischenstand:
-Wir wissen jetzt wie man Turtle importiert, nach vorne fährt und eine Kurve in belibige Fahrtrichtungen.


Nun können wir auch dem Pfeil (Turtle) eine Farbe geben. Dies funtkioniert so:

Code: Alles auswählen

t.color("Red")
Wir geben "color" an, damit Python weis wir wollen eine Farbe für den Turtle (t) festlegen. In den Klammern kommt die Farbe rein. Bekanntlich gehen diese Farben:

-"Red"
-"Black"
-"White"
-"Blue"
-"Yellow"
-"Green"
...
Und noch ein paar weitere Farben.


Hinweis: Wenn du bei den Klammern "()" keine Häckchen setzt dann denkt Python du willst eine Variable/String eingeben. Deswegen lass es so aussehen wenn du eine Farbe eingeben möchtest:
("Farbe") / (Variable)

Nun Wissen wir wie wir Farben erzeugen können. Jetzt die letzte basic Aufgabe:


Etwas füllen.

Ihr kennt alle bei Paint den Farbeimer. Den gibt es auch in Python.
Damit kann man Formen sofort ausmalen.

Malt zuerst ein Rechteck:

Code: Alles auswählen

t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
Jetzt füllen wir das mit roter Farbe aus. Dazu setzen wir vor unseren Code

Code: Alles auswählen

t.fillcolor("Red")
und

Code: Alles auswählen

t.begin_fill()
und dann am Ende:

Code: Alles auswählen

t.end_fill()
Das sieht dann so aus:

Code: Alles auswählen

t.fillcolor("Red")

t.begin_fill()

t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)
t.left(90)
t.forward(100)

t.end_fill()
mit dem "fillcolor" geben wir an, das Die Farbe mit der wir das Rechteck füllen wollen Rot ist. Mit "begin_fill()" Geben wir an, das wir ab hier unsere Figur füllen wollen. Mit "end_fill()" Sagen wir, das hier die Form gefüllt werden soll.


-Puhh Ich hab jetzt schon viel geschrieben. Aber ich möchte euch nur noch eine Basic mitgeben. Am Ende Gibt es einen Link mit den ganzen Codes.
-Basic 1 ist: Einen Kreis erstellen

Nun zu dem Kreis:


Um einen Kreis zu erstllen benutzen wir "dot". (Dot "englisch" für Punkt "deutsch") Wir wollen ihn 20 Pixel groß haben und ihn Blau machen. Das geht so:

Code: Alles auswählen


t.dot(20, "blue")
Immer in der Klammer die Pixel anzahl zuerst und dann die Farbe.

Die 2. Möglichkeit für einen Kreis wäre "circle()" Dazu benutzen wir:

Code: Alles auswählen

t.circle(120, 360)
"120" Steht für die Größe des Kreises. Experimentiert gerne ein wenig rum. "360" Steht für eine Umdrehung. Oben wurde das schon erklärt.

Nun kommen wir zum Abschluß des Tutorial.

Wie hat das Tutorial euch gefallen. Stimmt unten gerne ab und gebt mir bitte ein Feedback, was ich dann für die zukünfitgen Tutorials besser machen kann.

Infos:
Ich bin 12 Jahre Alt und Programmiere schon seitdem ich 9 bin.
Zudem versuche ich Einsteigern Tutorials zu geben, die die Sprache etwas vereinfachern.

Hier ist der Offiziele Python Link für alle Befehle:

https://docs.python.org/2/library/turtle.html

Gebt mal diesen Python Code ein startet das Projekt:

Code: Alles auswählen

import turtle

colors=["red", "purple", "blue", "green", "yellow", "orange"]

t=turtle.Pen()
t.speed(0)
turtle.bgcolor("black")
for x in range(360):
     t.pencolor(colors[x%6])
     t.width(x/100+1)
     t.forward(x)
     t.left(59)
Das Bild sieht einfach nur Geil aus!

Ein anderrer Code währe der hier:

Code: Alles auswählen

import turtle
h = turtle.Turtle()
for i in(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50):
  h.speed(-9)
  h.right(46)
  
  h.pencolor("blue")
  h.circle(50)
  h.right(20)
  h.pencolor("green")
  h.circle(100)
  h.circle(70)
  h.pencolor("red")
  h.circle(80)
  h.circle(90)
  h.left(10)
  h.pencolor("yellow")
  h.right(5)
  
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Hallo cool_brick24,

das sieht so weit schon ganz gut aus. Was ich nicht verstehe ist, warum du in deinem letzten Code-Snippet statt einer expliziten Auflistung von 51! Zahlen nicht einfach

Code: Alles auswählen

for i in range(51):
     ...
machst. Das ist sowohl einfacher zu schreiben als auch der in Python grebraechliche Weg.
cool_brick24
User
Beiträge: 34
Registriert: Montag 10. September 2018, 12:45

Ohh Entschuldigung. In der Eile habe ich vergessen, dass man das nicht so umständlich machen muss. Vielen Dank für den Hinweis, _deets_.
Antworten