i

Listen durchlaufen

Der wirkliche Vorteil der Datenspeicherung in Listen besteht darin, dass die Daten automatisch nacheinander von einem Programm bearbeitet werden können: Man sagt: Das Programm durchläuft eine Liste.

Das folgende Programm durchläuft die ersten drei Elemente der Liste (mit den Nummern 0, 1 und 2).

Häufig ist es so, dass die gesamte Liste durchlaufen werden soll. Hierfür könnte man jetzt einfach die Zahl 5 in den range(...) einsetzen. Da sich die Anzahl der Elemente - wie wir noch sehen werden - jedoch auch ändern kann, ist es hilfreich, dass man Python mitteilen kann, dass automatisch die ganze Liste durchlaufen werden soll, unabhängig davon, wie viele Elemente die Liste gerade tatsächlich hat.

Hierfür gibt es sogar zwei Möglichkeiten, wie im folgenden Beispiel gezeigt.

Die erste Möglichkeit verwendet die Funktion len(...), die die Anzahl der Elemente einer Liste zurückliefert. In der Schleife nimmt die Variable i entsprechend nacheinander alle Werte an, die Nummern von Elementen entsprechen.

Die zweite Möglichkeit ist noch etwas eleganter: Statt über die Element-Nummern auf die einzelnen Elemente zuzugreifen, nimmt hier die Variable element nacheinander direkt die Werte aller Listenelemente an.

Listen von Zahlen

Natürlich kann man nicht nur Zeichenketten in Listen ablegen, sondern auch Zahlen. Das folgende Beispiel zeigt ein Programm mit zwei Listen, eine mit x-Werten und eine mit y-Werten. Das Programm zeichnet einen Weg mit den hierdurch gegebenen Punkten in ein Koordinatensystem.

Aufgabe 1: Säulendiagramm

Betrachte den vorgegebenen Programm-Quelltext und beschreibe, wie die Funktion saeule funktioniert.
  1. Stelle die Daten, die in der Liste daten gegeben sind, als Säulendiagramm dar.
  2. Ändere das Programm so ab, dass die Werte in der Liste Daten zufällige Werte zwischen 0 und 150 sind.

Aufgabe 2: Noten-Würfeln

Lehrer Lämpel hat manchmal keine Zeit für Bewertungen von Kursarbeiten und möchte ein Programm schreiben, das Noten einfach würfelt. Die Namensliste seines Informatik-Kurses ist im Programm-Quelltext bereits vorgegeben.
  1. Definiere eine Variable anzahl, die je nach Länge der Namensliste die Anzahl der Schülerinnen und Schüler beinhaltet.
  2. Definiere eine Liste noten, die zunächst so viele Einträge hat, wie es Schülerinnen und Schüler gibt. Die Noten sollen zunächst alle 0 Punkte betragen.
  3. Nun sollen die 0 Punkte mit Zufallszahlen zwischen 4 und 15 Punkten befüllt werden. Schreibe den entsprechenden Programmteil.
  4. Sorge dafür, dass alle Schülernamen mit den entsprechenden Noten (Punktzahlen) ausgegeben werden.
  5. Bevor Lehrer Lämpell die Noten verteilt, möchte er noch einen Blick auf den Notenspiegel sehen, also die Häufigkeit für jede Punktzahl zwischen 4 und 15 Punkten. Dieser Notenspiegel soll nun aus der Liste noten berechnet werden.
  6. Es soll statt der Punktehäufigkeit ein "klassischer" Notenspiegel angefertigt werden, bei dem die Häufigkeiten der klassischen Schulnoten (1-6) anhand der Punktzahlen berechnet wird.
  7. Jemand behauptet: "Das Setzen der Notenwerte auf den Wert 0 am Anfang ist eigentlich überflüssig; man kann die entsprechende Zeile auch einfach weglassen". Nimm begründet Stellung zu dieser Behauptung.

Aufgabe 3: Listenelemente verändern

Betrachte das folgende Programm. Es nutzt beide Möglichkeiten, auf die Elemente einer Liste zuzugreifen, einmal über die Element-Nummern und einmal direkt über die Elemente. Diesmal jedoch sollen Werte in die Liste hineingeschrieben werden.
Teste das Programm und gib an, wie erfolgreich jeweils der Versuch war, die Werte in der Liste zu verändern.

Suche

v
100.102.9.2
dev.inf-schule.de/entwuerfe/python_online/listen/listen_durchlaufen
dev.inf-schule.de/100.102.9.2
dev.inf-schule.de/@/page/H6HbRvZj2YnKoQ9A

Rückmeldung geben