Teil 4 - Listen

Lektionen

13: Listen (Arrays)

  • Erzeugung von Listen durch [element1, ..., elementn]
  • Zugriff auf Elemente über deren Index, z.B. liste[0]
  • len(liste)
  • Verketten und Vervielfachen von Listen durch + bzw. *
  • Negative Indizes für Zugriff vom Ende der Liste aus
  • max(liste) und sum(liste)
  • for element in liste: ...

14: Methoden

Achtung: Die Übung "Exact Postage" geht von einer Postleitzahl mit genau 6 Stellen aus (bis auf Leerzeichen)

  • Listenmethoden wie z.B.
    • index(x)
    • count(x)
    • append(x)
    • insert(i, x)
    • extend(liste)
    • remove(x)
    • pop(x)
    • pop()
    • reverse()
    • sort()
  • x in liste zum Überprüfen, ob Element in Liste vorhanden ist
  • "Slices" mit [start:ende:step] analog zu Zeichenketten

15A-C: Übungen (optional)

  • keine neuen Inhalte

16: Rekursion

Mit Rekursion beschäftigen wir uns an anderer Stelle.

17: is (optional im GK)

  • Variablen speichern nur Referenzen
  • Kopieren von Listen
    • [:]
    • copy.copy()
    • copy.deepcopy()
    • list()
  • is - Operator vs. ==
  • Tupel als unveränderliche Listen

18: Effizienz

Mit der Effizienz von Algorithmen beschäftigen wir uns an anderen Stellen.

Übungen

Aufgabe 1 - Ich packe meinen Koffer

Du kennst sicher das Spiel "Ich packe meinen Koffer". Entwirf eine Computerversion des Spiels. Benutze dazu eine Liste, die immer länger wird. Es ist sicher hilfreich das Programm mit Hilfe von Funktionen zu strukturieren.

Du kannst Deinen ganz eigenen Weg bei der Implementierung gehen oder dem folgenden Vorschlag folgen. Dabei sind folgende Funktionen zu implementieren:

  • eingabe(nachricht) Der als Parameter übergebene Text wird als Nachricht für den Benutzer ausgegeben. Daraufhin soll der Benutzer beliebig viele Begriffe eingeben, die er durch Eingabe-Taste voneinander trennt. Nach einer leeren Eingabe werden alle Begriffe - bis auf die leere Eingabe - als Liste zurückgegeben.
  • loescheFenster Da es in IDLE nicht möglich ist über einen Befehl die Konsole zu löschen, kannst Du z.B. 50 leere Zeilen ausgeben, so dass die alten Eingaben nicht mehr sichtbar sind.
  • pruefen(alteListe, neueListe) Vergleicht die bisherige Liste von Dingen im Koffer mit der neuen Liste. Die neue Liste muss der alten Liste entsprechen und genau ein zusätzliches Element enthalten.
  • spielen Enthält die Spielsteuerung z.B. nach folgendem Schema:

Aufgabe 2 - Weitere Übungen

Bei Bedarf kannst Du noch beliebig viele der Übungen zu Listen auf inf-schule.de bearbeiten.