Gestaltungsorientierte Informatik

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
textadventure:inventar [2026/05/25 18:15] – celandirtextadventure:inventar [2026/05/28 09:59] (aktuell) – celandir
Zeile 1: Zeile 1:
 ====== Ich packe meinen Rucksack … (Listen) ====== ====== Ich packe meinen Rucksack … (Listen) ======
  
-Kaum ein Textadventure kommt ohne einen Rucksack aus. Viele Rätsel erfordern, dass man vorher an einem anderen Ort Gegenstände eingesammelt hat. Diese müssen „irgendwie“ transportiert werden, z.B. in einem Rucksack oder verallgemeinert in einem „Inventar“. Programmiertechnisch bedeutet das, dass man sich Information über den Stand des Abenteuers merken muss. Wurde der goldene Schlüssel schon eingesammelt? Python bietet dafür als **Datentyp** die **Liste** an. +Kaum ein Textadventure kommt ohne einen Rucksack aus. Viele Rätsel erfordern, dass man vorher an einem anderen Ort Gegenstände eingesammelt hat. Diese müssen „irgendwie“ transportiert werden, z.B. in einem Rucksack oder verallgemeinert in einem „Inventar“. Programmiertechnisch bedeutet das, dass man sich Information über den Stand des Abenteuers merken muss. Wurde der rostigeSchlüssel schon eingesammelt? Python bietet dafür als **Datentyp** die **Liste** an. 
  
 Eine Liste ist – wie der Name schon sagt – eine Aufzählung von Daten. Man kann also in einer Liste Strings, Zahlen, Wahrheitswerte (und sogar andere Listen) zusammenfassen. Es gibt einfach Anweisungen, mit denen man Daten einer Liste hinzufügen, entfernen oder sie darin suchen kann. Anders als in einem Rucksack, in dem die Dinge oft durcheinander geraten, bleiben Daten in einer Liste immer in der Reihenfolge, in der man sie hinzugefügt hat.  Eine Liste ist – wie der Name schon sagt – eine Aufzählung von Daten. Man kann also in einer Liste Strings, Zahlen, Wahrheitswerte (und sogar andere Listen) zusammenfassen. Es gibt einfach Anweisungen, mit denen man Daten einer Liste hinzufügen, entfernen oder sie darin suchen kann. Anders als in einem Rucksack, in dem die Dinge oft durcheinander geraten, bleiben Daten in einer Liste immer in der Reihenfolge, in der man sie hinzugefügt hat. 
Zeile 101: Zeile 101:
 </code> </code>
  
-In der Funktion ''holzsteg()'' kanns du sehen, wie man Listen benutzt. In Zeile 37 wird mit dem Operator ''in'' geprüft, ob der String ''"Rostiger Schlüssel"'' in der Variablen ''inventar'' enthalten ist. Je nachdem, wie die Prüfung ausfällt, wird der if- oder der else-Block der Fallunterscheidung ausgeführt. +In der Funktion ''holzsteg()'' kannst du sehen, wie man Listen benutzt. In Zeile 37 wird mit dem Operator ''in'' geprüft, ob der String ''"Rostiger Schlüssel"'' in der Variablen ''inventar'' enthalten ist. Je nachdem, wie die Prüfung ausfällt, wird der if- oder der else-Block der Fallunterscheidung ausgeführt. 
  
 +Um einen neuen Gegenstand dem Inventar hinzuzufügen, verwendet man den Ausdruck ''inventar.append(...)'' (Zeile 51). Das ist nun wieder etwas Neues: Die Variable ''inventar'' verweist auf ein sog. **Objekt**. Objekte kombinieren Daten (hier: eine Liste von Dingen) mit den Operationen (hier: das Hinzufügen eines neuen Dings). Durch die **Punktnotation** drückt man aus, dass die **Methode** ''append()'' für das Objekt ''inventar'' aufgerufen wird. (Methoden sind Funktionen, die zu Objekten gehören.) 
 +
 +Für Listen-Objekte gibt noch eine Reihe weiterer Methoden, um Daten einzufügen, zu entfernen oder die Position herauszufinden, an der ein bestimmtes Datum in der Liste steht. Eine Übersicht findet man hier:
 +
 +  * https://docs.python.org/3/tutorial/introduction.html#lists
 +  * https://docs.python.org/3/tutorial/datastructures.html#more-on-lists
 +  * https://openbook.rheinwerk-verlag.de/python/13_002.html#u13.2
 +
 +Listen sind in Python ein sehr flexibles //Werkzeug//, mit dem man für viele Probleme Lösungen programmieren kann. In der nächsten Lektion werden wir uns anschauen, wie man das Inventar noch etwas flexibler macht und dabei weitere Möglichkeiten des Listen-Datentyps erkunden.
 +
 +<div todo>
 +Nun baue aber zunächst ein Inventar in dein eigenes Textadventure ein.
 +</div>
 +
 +Nächste Lektion: [[iteration|Was habe ich eigentlich dabei?]]
textadventure/inventar.1779725745.txt.gz · Zuletzt geändert: von celandir