Beispiel - Newsletter
Newsletter
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
- [1]: Newsletter - Urheber: Tumisu - Lizenz: Public Domain