Title: Klausurvorbereitung: Listen auf Papier

Listenaufgaben lassen sich gut auf Papier lösen, wenn du die Liste nach jeder
Änderung neu notierst.

items = ["Holz", "Stein"]
items.append("Fackel")
items[0] = "Brett"
print(items[1])
print(len(items))

Schreibe die Liste nach jeder Zeile auf:

Start: ["Holz", "Stein"]
append: ...
ersetzen: ...

### Übung

Bestimme zuerst ohne Ausführen die Ausgabe.

weg = ["Start", "Wald", "Mine"] weg.append("See") weg[1] = "Dorf" for ort in weg: if len(ort) <= 4: print(ort)

Schritt | weg
Start | ["Start", "Wald", "Mine"]
weg.append("See") | ?

## Niveau 2

Jetzt kommen `insert` und `pop` dazu. Schreibe die Liste nach jeder Zeile auf.

stapel.pop()
stapel.insert(1, "X")
stapel[0] = stapel[-1]
print(stapel)
print(len(stapel))

Schritt | stapel
stapel.pop() | ?
stapel.insert(1, "X") | ?

## Niveau 3

### Übung 3 – Funktion schreiben

Schreibe eine Funktion `letztes_entfernen(liste)`, die das letzte Element
entfernt und zurückgibt. Bei einer leeren Liste soll `None` zurückgegeben
werden.

def letztes_entfernen(liste):
# Dein Code
pass

meine_liste = ["Stein", "Holz", "Erz"]
wert = letztes_entfernen(meine_liste)
print(wert) # Erz
print(meine_liste) # ['Stein', 'Holz']

print(letztes_entfernen([])) # None

### Übung 4 – Beobachtung erklären

liste_b = liste_a
liste_b.append("Y")
print(liste_a) # Was wird ausgegeben?

Was gibt `print(liste_a)` aus? Erkläre in einem Satz, warum das so ist.