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)
undsum(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.