Listen – Daten speichern und wiederverwenden
Mit Listen speichern Sie mehrere Werte gleichzeitig und können sie der Reihe nach verarbeiten – ideal für Farben, Formen oder Bewegungslängen in Turtle.
- Sie können erklären, was eine Liste ist und wie man auf Elemente zugreift.Verstehen
- Sie können Listen verwenden, um wiederholte Abläufe mit mehreren Werten zu steuern.Anwenden
- Sie entwickeln kreative Turtle-Programme, die Farben, Distanzen oder Formen aus Listen generieren.Kreieren
Listen gehören zu den wichtigsten Datenstrukturen in Python.
Sie ermöglichen es, Werte zu sammeln, zu verändern und in Schleifen zu verarbeiten.
In diesem Modul lernen Sie, Listen anzulegen, Elemente auszulesen und in Kombination mit Turtle-Befehlen kreative Muster zu erzeugen.
Was ist eine Liste?
Bisher haben Sie Werte in einzelnen Variablen gespeichert. Wollen Sie aber zehn Farben oder zwanzig Distanzen verwalten, brauchen Sie entsprechend viele Variablen – unpraktisch.
Eine Liste speichert mehrere Werte in einer Variablen. Sie wird mit eckigen Klammern [] geschrieben, die Werte stehen mit Komma getrennt nebeneinander:
farben = ["red", "green", "blue"] oder distanzen = [50, 100, 150]
Listen stecken in vielen Alltagsdingen: die Einkaufsliste, eine Playlist, die Highscores eines Spiels. Auch in der Turtle-Grafik sind sie unverzichtbar, sobald ein Muster aus mehreren verschiedenen Werten besteht – etwa mehreren Farben oder Streckenlängen.
farben = ["red", "green", "blue"]
print(farben[0]) # red – das erste Element hat den Index 0
print(farben[2]) # blue – das dritte Element
print(len(farben)) # 3 – Anzahl Elemente
farben[1] = "yellow" # Element an Position 1 ersetzen
print(farben) # ['red', 'yellow', 'blue']Wichtige Listen-Operationen
| Operation | Bedeutung |
|---|---|
farben[0] | Das erste Element – der Index beginnt bei 0 |
farben[-1] | Das letzte Element |
len(farben) | Anzahl Elemente der Liste |
farben[1] = "yellow" | Element an Position 1 ersetzen |
farben.append("pink") | Ein Element am Ende anhängen |
"red" in farben | Prüfen, ob ein Wert in der Liste ist (True/False) |
farben = ["red", "green", "blue"]
# Variante 1: direkt über die Elemente – der häufigste Fall
for farbe in farben:
print(farbe)
# Variante 2: über die Position – wenn man den Index braucht
for i in range(len(farben)):
print(i, farben[i])Challenge
Aufgabe 1 – Bunte Spuren
Schreiben Sie ein Programm, das die Turtle in mehreren Farben zeichnen lässt.
- Legen Sie eine Liste mit mindestens vier Farben an.
- Lassen Sie die Turtle in einer
for-Schleife mehrmals eine Strecke fahren und sich drehen. - Setzen Sie vor jeder Strecke die Stiftfarbe auf die jeweils nächste Farbe der Liste (
pencolor(farbe)).
Tipp: Mit for farbe in farben: erhalten Sie in jedem Schleifendurchlauf direkt die nächste Farbe – ohne Index-Rechnerei.
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginEin Stern aus 36 Strecken – die Farbliste wird immer wieder von vorne durchlaufen.
Challenge
Aufgabe 2 – Distanzliste
In Listen können auch Zahlen stehen. Die Turtle soll jede Distanz nacheinander abfahren.
- Speichern Sie die Distanzen
[50, 100, 150, 100, 50]in einer Liste. - Lassen Sie die Turtle jede Distanz fahren und sich danach um 45 Grad drehen.
- Ergänzen Sie eine zweite Liste mit Farben und lassen Sie jede Strecke in einer eigenen Farbe erscheinen.
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginChallenge
Aufgabe 3 – Muster aus zwei Listen
Kombinieren Sie Farben und Distanzen zu einem eigenen Muster:
- Liste A:
farben = ["red", "orange", "yellow", "green", "blue", "purple"] - Liste B:
distanzen = [50, 80, 110, 140, 170, 200]
Lassen Sie die Turtle in jeder Farbe eine der Distanzen fahren und sich anschliessend drehen. Experimentieren Sie: Was passiert, wenn die Listen unterschiedlich lang sind? Welche Drehung ergibt das schönste Muster?
Expanderndes Muster aus zwei Listen: Farben und Distanzen wechseln sich ab.
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
Loginimport random
werte = [] # eine leere Liste
for i in range(10):
werte.append(random.randint(10, 100))
print(werte) # z.B. [42, 17, 88, 5, 63, 91, 30, 76, 12, 55]
print(len(werte)) # 10from turtle import *
def zeichne_strecken(laengen):
for laenge in laengen:
forward(laenge)
right(45)
zeichne_strecken([50, 100, 150, 100, 50])
zeichne_strecken([80, 80, 120, 120, 40])
done()Challenge
Challenge – Unterprogramm mit Liste (fortgeschritten)
Sie kennen Unterprogramme mit Parametern aus der Basis-Serie. Listen können genau so als Parameter übergeben werden – das Untereprogramm erhält dann das ganze Muster auf einmal:
Bauen Sie die Idee aus: Die Funktion soll zusätzlich eine Farbliste entgegennehmen, sodass beide Listen gemeinsam ein Muster zeichnen. Rufen Sie die Funktion danach mit verschiedenen Listen auf – ein Aufruf, ein Muster.
Bonus: Was passiert, wenn die Farbliste kürzer ist als die Distanzliste? Machen Sie die Funktion dagegen sicher.
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginWarning
Häufige Fehler
- Indexfehler:
farben[3]bei drei Elementen endet mitIndexError– der letzte gültige Index istlen(farben) - 1. - Ab 1 gezählt: Das erste Element hat Index 0, nicht 1.
farben[1]ist das zweite Element. - append missverstanden:
farben.append("pink")verändert die Liste direkt – der Rückgabewert istNone. Erst anhängen, dann ausgeben. - Komma vergessen:
["red" "green"]ist EIN String, keine Liste mit zwei Farben.
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginReflection
Reflexion
- An welcher Stelle hat die Liste Ihre Arbeit spürbar erleichtert?
- Was müssten Sie ändern, wenn Ihr Muster statt sechs jetzt zwölf Werte verwenden soll – und was wäre ohne Liste zu tun?
- Wo sonst in Programmen könnten Listen Ihnen helfen? Sammeln Sie zwei Beispiele.
Quellen & Attribution
Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
Loginquestion_file wird noch nicht unterstützt.Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
Loginquestion_file wird noch nicht unterstützt.Lokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
LoginLokal gespeichert — melde dich an, um Antworten dauerhaft zu sichern.
Login