i

Beispiel - Newsletter

Newsletter

Newsletter[1]

Newsletter werden benutzt, um allen Mitgliedern einer Gruppe Informationen per E-Mail zukommen zu lassen.

So könnten schulinterne Newsletter etwa dazu dienen, allen Schülerinnen und Schülern der Jahrgangsstufe 11 des ...-Gymnasiums den neuen Kursarbeitsplan zukommen zu lassen. Hierzu benötigt der MSS-Leiter die E-Mail-Adressen aller Schülerinnen und Schüler der 11. Jahrgangsstufe.

a.schmidt@bgkl.de
e.lahr@bgkl.de
t.lahi@bgkl.de
i.dinc@bgkl.de
n.reuter@bgkl.de
h.krause@bgkl.de
...

Zudem wird ein Programm benötigt, das E-Mails an alle diese Adressen verschickt. Das Verschicken soll hier nur simuliert werden, indem alle E-Mail-Header (das sind die Kopfzeilen) erzeugt und ausgegeben werden.

from: mssleiter@burg-kl.de
to: a.schmidt@bgkl.de
subject: Kursarbeiten
...
from: mssleiter@burg-kl.de
to: e.lahr@bgkl.de
subject: Kursarbeiten
...
from: mssleiter@burg-kl.de
to: t.lahi@bgkl.de
subject: Kursarbeiten
...
from: mssleiter@burg-kl.de
to: i.dinc@bgkl.de
subject: Kursarbeiten
...
from: mssleiter@burg-kl.de
to: n.reuter@bgkl.de
subject: Kursarbeiten
...
from: mssleiter@burg-kl.de
to: h.krause@bgkl.de
subject: Kursarbeiten
...

Verwaltung und Verarbeitung von E-Mail-Adressen

Wie lässt sich eine Ansammlung von E-Mail-Adressen verwalten? Bisher haben wir alle anfallenden Daten mit Hilfe geeigneter Variablen erfasst. Diesen Ansatz könnten wir hier ebenfalls weiter verfolgen.

Wenn auf diese Weise sehr viele E-Mail-Adressen verwaltet werden sollen (z.B. die Adressen von 100 Personen), dann erweist sich der gewählte Ansatz als nicht praktikabel. Ein neuer Ansatz muss also her.

Statt alle Daten einzeln mit Variablen zu verwalten, ist es geschickter, eine Liste als eine Art Daten-Container zu benutzen. Mit Hilfe dieses Daten-Containers werden mehrere einzelne Daten zu einer komplexeren Dateneinheit zusammengefasst. Man benötigt dann nur noch eine Variable, um die Dateneinheit zu verwalten.

Verarbeitung von Listen

Listen sind sehr flexibel in der Verarbeitung. Bearbeite die folgenden Aufgaben, um diese Verarbeitungsmöglichkeiten zu erkunden.

Aufgabe 1: Zugriff auf Listenelemente

Natürlich möchte man auch auf die einzelnen Elemente einer Liste zugreifen können. Das folgende Programm zeigt, wie das geht.

Ergänze selbst weitere Anweisungen mit Listenzugriffen. Teste dabei auch den Zugriff adressen[6] sowie den Zugriff adressen[len(adressen)-1]. Was leistet die len-Funktion. Teste auch dies mit einer geeigneten anweisung wie z.B. print(len(adressen)). Formuliere eine Regel, die man beim Listenzugriff beachten muss.

Aufgabe 2: Zugriff auf Listenbereiche

Das folgende Programm zeigt erweiterte Zugriffsmöglichkeiten auf die Listenelemente auf. Teste weitere analoge Zugriffe. Erläutere abschließend die Möglichkeiten, auf Teillisten einer gegebenen Liste zuzugreifen.

Aufgabe 3: Eine Liste durchlaufen

Wenn man alle Elemente einer Liste durchlaufen möchte, dann kann man das in Python auf mehrere Weisen tun.

(a) Probiere das selbst aus. Erläutere den Unterschied zwischen den beiden gezeigten Varianten.

(b) Ändere das Programm so ab, dass die folgende Ausgabe erzeugt wird.

from: mssleiter.bgkl.de
to:  a.schmidt@bgkl.de
subject: Kursarbeiten

from: mssleiter.bgkl.de
to:  e.lahr@bgkl.de
subject: Kursarbeiten

...

from: mssleiter.bgkl.de
to:  h.krause@bgkl.de
subject: Kursarbeiten

Aufgabe 4: Abändern von Listenelementen

Das Abändern von Listenelementen erfolgt über einen schreibenden Zugriff auf das betreffende Listenelement.

Ändere entsprechend zwei andere Listenelemente ab. Beachte den Indexbereich der vorgegebenen Liste.

Aufgabe 5: Hinzufügen von Listenelementen

Mit dem +-Operator kann man zwei Listen zusammenfügen.

Füge jeweils ein neues Listenelement vorne und hinten in die bereits bestehende Liste ein.

Aufgabe 6: Eine neue Liste aufbauen

Das folgende Programm zeigt, wie man eine Kopie einer Liste erstellen kann.

Ändere das Programm so ab, dass die Listenelemente in der Kopie genau umgekehrt angeodnet sind wie in der Ausgangsliste.

Aufgabe 7: Listenelemente löschen

Erläutere, wie das Löschen von Listenelementen im folgenden Programm funktioniert.

Mit dem gezeigten Verfahren lassen sich auch mehrere Listenelemente löschen. Zeige das mit einem geeigneten Beispiel.

Aufgabe 8: Nochmal - Listenelemente hinzufügen

Auch das Hinzufügen von Listenelementen lässt sich sehr flexibel gestalten.

Probiere das mit einem selbst gewählten Beispiel aus.

Aufgabe 9: Nochmal - eine Liste kopieren

Irgend etwas stimmt hier nicht. Hast du eine Erklärung?

Quellen

Suche

v
6.3.2.14.1
inf-schule.de/imperative-programmierung/python/konzepte/listen/beispiel_newsletter
inf-schule.de/6.3.2.14.1

Rückmeldung geben