Übungen
Aufgabe 1: Zugriff auf Listenelemente
Betrachte eine Liste zur Darstellung eines Telefonbuches.
# Telefonbuch T = [ ['Armbrust', 'Katharina', '06271-438716'], ['Decker', 'Fabian', '08221-546001'], ['Mueller', 'Rebecca', '0711-442179'], ... ]
(a) Welche Ergebnisse liefern die folgenden Zugriffsoperationen? Überlege erst, bevor du es ausprobierst.
>>> T[1] ? >>> T[0][2] ? >>> T[2][0] ?
Die Darstellung der Telefondaten wird wie folgt abgeändert:
# Telefonbuch T = [ [['Katharina', 'Armbrust'], '06271-438716'], [['Fabian', 'Decker'], '08221-546001'], [['Rebecca', 'Mueller'], '0711-442179'], ... ]
(b) Mit welchen Ausdrücken erhält man jetzt die Ergebnisse, die Python im obigen Dialog erzeugt?
Aufgabe 2: Simulation eines Tischtennisspiels
Ein Tischtennisspiel kann z. B. so ausgehen: 11:6, 13:15, 5:11, 10:12.
Der Gewinner muss drei Sätze gewonnen haben. Ein Satz ist gewonnen, wenn ein Spieler mindestens 11 Punkte und 2 Punkte mehr als der Gegner erzielt hat.
(a) Überleg dir eine Datenstruktur und eine Listendarstellung zur Beschreibung eines Tischtennisspiels.
(b) Gewinnt eigentlich der bessere Spieler immer? Entwickle ein Simulationsprogramm, bei dem zwei Spieler mit unterschiedlicher Spielstärke (z. B. 60:40) gegeneinander spielen. Die einzelnen Punkte sollen unter Berücksichtigung der Spielstärke mit dem Zufallsgenerator ermittelt werden. Ausgegeben werden soll das Spielergebnis und der Gewinner des Spiels.
Aufgabe 3: Irrlauf in Mannheim
Stell dir vor, du läufst durch eine schachbrettartig angelegtes Straßensystem wie in Mannheim oder New York. Du startest an einen Punkt, läufst jeweils bis zur nächsten Straßenkreuzung und entscheidest dann neu: entweder nach Osten oder nach Süden oder nach Westen oder nach Norden.
(a) Überleg dir eine Datenstruktur und eine Listendarstellung zur Beschreibung eines Irrlaufs.
(b) Wie wahrscheinlich ist es, dass man bei einem Irrlauf wieder zum Startpunkt zurückkommt? Entwickle ein geeignetes Simulationsprogramm.