Skip to content

🔁 Schleifen 🐢🐢🐢

Schleifen? FOR WHAT?!

Einstieg: Worum geht es in diesem Kapitel?

In der letzten Einheit hast du Formen Schritt für Schritt mit einzelnen Befehlen gezeichnet. Das funktioniert gut, aber sobald sich etwas wiederholt, wird der Code schnell lang und unübersichtlich.

Schleifen helfen dir dabei, solche Wiederholungen einfacher darzustellen. Du schreibst einen Befehl nicht mehr zehnmal untereinander, sondern sagst Python: Wiederhole diesen Codeblock mehrmals.

Merksatz

Schleifen helfen dir, wiederkehrende Abläufe kurz und übersichtlich zu schreiben.

Arbeiten in einer Datei

In dieser Einheit arbeitest du in einem einzigen Python-Programm, das du Schritt für Schritt erweiterst.

Das bedeutet:

  • Du löst alle Challenges im selben File.
  • Du strukturierst deinen Code.
  • Du kommentierst deine Lösungen aus oder platzierst die verschiedenen Zeichnungen an passenden Stellen.

Zum Beispiel:

python
# Challenge 1
# Dreieck

"""
Challenge 2:
Fünfeck
"""

So behältst du den Überblick. Außerdem kannst du später besser nachvollziehen, welche Lösung zu welcher Challenge gehört.

Hinweis

Wenn mehrere Zeichnungen in einem Python-File stehen, musst du besonders auf Positionen achten. Sonst landen alle Formen übereinander.

Grundlagen: Wiederholungen verstehen

Ohne Schleife

Ein Quadrat kann so gezeichnet werden:

python
import turtle

turtle.forward(100)
turtle.left(90)

turtle.forward(100)
turtle.left(90)

turtle.forward(100)
turtle.left(90)

turtle.forward(100)
turtle.left(90)

turtle.done()

Der Code funktioniert, aber du erkennst sofort: Es wiederholt sich immer dasselbe Muster.

Mit Schleife

Das gleiche Ergebnis geht deutlich kürzer:

python
import turtle

for i in range(4):
    turtle.forward(100)
    turtle.left(90)

turtle.done()

range(4) bedeutet vier Wiederholungen. Die Einrückung bestimmt, welche Befehle zur Schleife gehören.

Wichtig

Alles, was zur Schleife gehört, muss eingerückt sein. Nicht eingerückte Befehle werden nicht wiederholt.

Beobachten und verstehen

Verändere den Code und beobachte:

  • die Anzahl in range(...)
  • den Winkel
  • die Länge bei forward(...)

Was passiert?

Hinweis

Ändere immer nur eine Sache auf einmal. So erkennst du besser, welche Änderung welche Wirkung hat.

🐢 Challenge 1: Dreieck, Fünfeck und Achteck

Zeichne:

  • ein Dreieck
  • ein Fünfeck
  • ein Achteck

alles in deinem Programm bzw. Python-File.

Dreieck, Fünfeck und Achteck

Achte darauf, dass die Formen an passenden Stellen erscheinen und sich nicht überlappen.

Hinweis

Nutze penup(), setposition() und pendown(), wenn du die Turtle an eine neue Stelle setzen möchtest.

Vielecke verstehen

Der Zusammenhang mit 360°

Ein Kreis hat 360°.

Für regelmäßige Vielecke gilt:

python
Winkel = 360 / Anzahl_der_Seiten

Bei einem Quadrat ist das:

python
360 / 4

Bei einem Fünfeck ist das:

python
360 / 5

Je mehr Seiten eine Form hat, desto kleiner wird der Drehwinkel.

Merksatz

Bei regelmäßigen Vielecken kannst du den Drehwinkel mit 360 / Seitenanzahl berechnen.

Variablen verwenden

Eine Variable kann einen Wert speichern:

python
seiten = 5

Damit kannst du flexibler arbeiten und dein Programm leichter anpassen. Statt überall direkt eine Zahl einzutragen, verwendest du einen Namen.

Zum Beispiel:

python
seiten = 5

for i in range(seiten):
    turtle.forward(100)
    turtle.left(360 / seiten)

Wenn du später ein anderes Vieleck zeichnen möchtest, musst du nur den Wert der Variable ändern.

Hinweis

Variablen machen Programme leichter veränderbar. Du musst nicht an vielen Stellen im Code dieselbe Zahl suchen und ersetzen.

🐢 Challenge 2: Vieleck mit frei wählbarer Seitenanzahl

Zeichne ein Vieleck mit frei wählbarer Seitenanzahl an passender Stelle.

Wähle zum Beispiel:

  • 9 Seiten
  • 13 Seiten
  • 20 Seiten
Vieleck mit frei wählbarer Seitenanzahl

Verwende dafür eine Variable.

Hinweis

Lege zuerst die Seitenanzahl in einer Variable fest. Verwende diese Variable dann sowohl in range(...) als auch bei der Winkelberechnung.

Wichtig

Setze beim Winkel nicht einfach irgendeine Zahl ein. Überlege, wie der Winkel aus der Seitenanzahl berechnet werden kann.

Wissensspeicher: Turtle-Befehle aus den bisherigen Einheiten

💡 Wissensspeicher – Turtle-Befehle

Diese Befehle solltest du inzwischen kennen und gezielt einsetzen können:

python
turtle.forward(100)
turtle.backward(50)
turtle.left(90)
turtle.right(45)
turtle.speed(10)

turtle.color("orange")

turtle.colormode(255)
turtle.color(255, 0, 0)

turtle.penup()
turtle.pendown()
turtle.setposition(100, -50)

turtle.begin_fill()
turtle.end_fill()

Wenn du Farben mit drei Zahlen wie turtle.color(255, 0, 0) verwenden willst, brauchst du vorher:

python
turtle.colormode(255)

Damit legst du fest, dass die Farbwerte von 0 bis 255 verwendet werden.

Wenn du Farbwerte nachschauen oder ausprobieren möchtest, kannst du einen Color Picker verwenden:

Color Picker

🐢 Challenge 3: Formen aus der Vorlage zeichnen

Zeichne alle Formen aus der Vorlage in derselben Datei.

Mehrere farbige Formen

Achte darauf, dass die Formen an passenden Stellen erscheinen und sich nicht überlappen. Arbeite weiterhin in deinem bestehenden Python-File und trenne deine Lösungen sinnvoll durch verschiedene Positionen oder Kommentare.

Hinweis

Nutze penup(), setposition() und pendown(), um die Turtle an eine neue Stelle zu setzen. Für die Farben können pencolor() und fillcolor() hilfreich sein sowie für die Stiftbreite pensize().

Besondere Muster: Sterne und Strahlen

Einen Stern zeichnen ⭐

Nicht alle Formen folgen der Regel 360° / Seitenanzahl. Sterne sind ein gutes Beispiel dafür.

python
import turtle

for i in range(5):
    turtle.forward(100)
    turtle.right(144)

turtle.done()

Beim Stern entsteht die Form nicht durch einen Außenwinkel eines regelmäßigen Vielecks, sondern durch ein bestimmtes Überspringen von Punkten.

Merksatz

Nicht jedes Muster folgt derselben Regel. Manchmal musst du experimentieren und beobachten.

🐢 Challenge 4: Stern

Zeichne nun diesen Stern.

Stern

Beobachte und experimentiere. Orientiere dich an der Vorgabe.

Hinweis

Achte besonders darauf, wie oft sich die Bewegung wiederholt und welcher Drehwinkel verwendet wird.

Muster aus wiederholten Bewegungen

Wenn sich Bewegungen wiederholen und leicht verändern, entstehen Muster. Du kannst zum Beispiel vorwärts und rückwärts zeichnen, danach die Turtle drehen und denselben Ablauf erneut ausführen.

Solche Muster sehen oft komplex aus, obwohl sie aus wenigen Befehlen bestehen.

Hinweis

Bei Mustern ist es hilfreich, zuerst eine einzelne Bewegung zu testen. Danach kannst du sie mit einer Schleife wiederholen.

🐢 Challenge 5: Sonnenstrahlen 🎨

Versuche, ein Muster zu zeichnen, das wie eine Sonne oder ein Strahlenkreis aussieht.

Sonnenstrahlen-Muster

Beobachte und experimentiere. Orientiere dich an der Vorgabe.

Hinweis

Überlege, welche Bewegung sich wiederholt und wie stark sich die Turtle nach jeder Wiederholung drehen muss.

Exkurs: Weitere Turtle-Befehle

Neue Befehle ausprobieren

Turtle bietet noch viele weitere Befehle. Einige sind nur Kurzformen, andere verändern die Position, löschen Zeichnungen oder setzen Markierungen.

python
turtle.rt(100)
turtle.fd(100)
turtle.lt(100)
turtle.bk(100)
turtle.home()
turtle.circle(100)
turtle.undo()
turtle.clear()
turtle.stamp()

Teste neue Befehle und schreibe kurze Kommentare dazu.

Hinweis

Teste immer nur einen neuen Befehl auf einmal. Schreibe als Kommentar dazu, was du beobachtest.

Kurze Befehlsnamen

Manche Befehle gibt es auch als Kurzform:

python
turtle.fd(100)
turtle.bk(100)
turtle.rt(90)
turtle.lt(90)

Diese Kurzformen bedeuten:

  • fd = forward
  • bk = backward
  • rt = right
  • lt = left

Hinweis

Kurzformen sind praktisch, aber ausgeschriebene Befehle sind oft leichter lesbar.

🐢 Vertiefende Challenge: Fehler finden

In diesem Programm steckt ein Denkfehler:

python
import turtle

seiten = 6

for i in range(5):
    turtle.forward(100)
    turtle.left(360 / seiten)

turtle.done()

Finde und korrigiere den Fehler.

Du sollst:

  • den Fehler finden und korrigieren
  • keine fixe Zahl einsetzen
  • Prof. Egger das Problem erklären können
  • die korrigierte Zeichnung an einer freien Stelle in deiner Datei platzieren

Wichtig

Setze nicht einfach 6 in range(...) ein. Die Lösung soll mit der Variable zusammenhängen.

Hinweis

Vergleiche, welche Bedeutung seiten hat und wie oft die Schleife tatsächlich ausgeführt wird.

Allgemeines zum Erlernen einer Programmiersprache

Gerade bei Schleifen lernst du viel, wenn du kleine Änderungen machst und genau beobachtest, was sich verändert. Verändere zum Beispiel die Anzahl der Wiederholungen, den Winkel oder die Länge der Linien und vergleiche die Ergebnisse.

So verstehst du Schritt für Schritt besser, wie Wiederholung und Struktur zusammenhängen. Fehler gehören dabei dazu und helfen dir oft, dein Programm besser zu verstehen.

Merksatz

Programmieren lernst du nicht durch Abschreiben, sondern durch Beobachten, Verändern, Testen und Erklären.

Wissensspeicher

Wichtige Begriffe

Schleife Ein Codeblock, der mehrfach ausgeführt wird.

for-Schleife Eine Schleife, bei der Python eine bestimmte Anzahl von Wiederholungen ausführt.

range(...) Legt fest, wie oft eine Schleife wiederholt wird.

Einrückung Zeigt in Python, welche Befehle zu einem Codeblock gehören.

Variable Ein Name, unter dem ein Wert gespeichert wird.

Winkel Gibt an, wie stark sich die Turtle dreht.

Vieleck Eine Form mit mehreren Seiten, zum Beispiel Dreieck, Fünfeck oder Achteck.

penup() Hebt den Stift an, damit die Turtle sich bewegen kann, ohne zu zeichnen.

pendown() Setzt den Stift wieder ab, damit die Turtle zeichnet.

setposition() Setzt die Turtle an eine bestimmte Position.

pencolor() Legt die Linienfarbe fest.

fillcolor() Legt die Füllfarbe fest.

pensize() Legt die Breite der Linie fest.

Abschlussgedanke

Schleifen sind ein wichtiger Schritt vom einfachen Zeichnen zum strukturierten Programmieren. Sie helfen dir, wiederholte Abläufe zu erkennen und kürzer zu formulieren. Variablen machen deinen Code zusätzlich flexibler, weil du Werte nicht mehrfach im Programm ändern musst.