Logo des digitalen Schulbuchs inf-schule.de. Schriftzug in Zustandsübergangsdiagramm eines endlichen Automaten.

Erkundung - Terminkalender

Verwaltung der Daten

Wie lassen sich Daten zu einem elektronischen Terminkalender verwalten?

Terminkalender

Im Folgenden werden Möglichkeiten aufgezeigt, die Daten mit Hilfe von Daten-Containern zu Einheiten zusammenzufassen und Dateneinheiten mit Hilfe von Variablen zu verwalten.

Aufgabe 1

Wir benutzen geschachtelte Listen zur Darstellung der Daten.

>>> kalender = [
	[11, 7, 2011, 10, 0, 'Geburtstag Anna'],
	[11, 7, 2011, 20, 0, 'Kino'],
	[14, 7, 2011, 15, 30, 'Zahnarzt'],
	[14, 7, 2011, 17, 0, 'Treffen mit P.'],
	[15, 7, 2011, 18, 0, 'Training']
	]
>>> kalender
[[11, 7, 2011, 10, 0, 'Geburtstag Anna'], [11, 7, 2011, 20, 0, 'Kino'], ...]
>>> kalender[0]
[11, 7, 2011, 10, 0, 'Geburtstag Anna']
>>> kalender[0][5]
'Geburtstag Anna'

(a) Teste selbst diese Darstellung.

(b) Wie kann man z.B. auf den Termin am 15.07.2011 zugreifen? Wie erhält man hier die Uhrzeit?

Aufgabe 2

Wir schachteln die Listen zur Darstellung der Daten noch weiter.

>> kalender = [
	[[11, 7, 2011], [10, 0], 'Geburtstag Anna'],
	[[11, 7, 2011], [20, 0], 'Kino'],
	[[14, 7, 2011], [15, 30], 'Zahnarzt'],
	[[14, 7, 2011], [17, 0], 'Treffen mit P.'],
	[[15, 7, 2011], [18, 0], 'Training']
	]
>>> kalender
[[[11, 7, 2011], [10, 0], 'Geburtstag Anna'], [[11, 7, 2011], [20, 0], 'Kino'], ...]

(a) Teste diese Darstellung. Welche Vorteile / Nachteile siehst du hier?

(b) Wie kann man z.B. auf den Termin am 15.07.2011 zugreifen? Wie erhält man hier die Uhrzeit?

Aufgabe 3

Wir benutzen jetzt neben einer Liste sogenannte Tupel zur Darstellung der Daten.

>>> kalender = [
	((11, 7, 2011), (10, 0), 'Geburtstag Anna'),
	((11, 7, 2011), (20, 0), 'Kino'),
	((14, 7, 2011), (15, 30), 'Zahnarzt'),
	((14, 7, 2011), (17, 0), 'Treffen mit P.'),
	((15, 7, 2011), (18, 0), 'Training')
	]
>>> kalender
[((11, 7, 2011), (10, 0), 'Geburtstag Anna'), ((11, 7, 2011), (20, 0), 'Kino'), ...]

(a) Teste auch hier den Zugriff auf die Daten.

(b) Der folgende Dialog zeigt wesentliche Unterschiede zwischen Listen und Tupel auf. Beschreibe diese Unterschiede.

>>> liste = [11, 7, 2011]
>>> liste[2]
2011
>>> liste[2] = 2012
>>> liste
[11, 7, 2012]
>>> tupel = (11, 7, 2011)
>>> tupel[2]
2011
>>> tupel[2] = 2012
Traceback (most recent call last):
  ...
    tupel[2] = 2012
TypeError: 'tuple' object does not support item assignment
>>> liste = ['A', 'B', 'C']
>>> liste = liste + ['D']
>>> liste
['A', 'B', 'C', 'D']
>>> tupel = ('A', 'B', 'C')
>>> tupel
('A', 'B', 'C')
>>> tupel = tupel + ('D')
Traceback (most recent call last):
  ...
    tupel = tupel + ('D')
TypeError: can only concatenate tuple (not "str") to tuple

(c) Hier eine weitere Darstellung der Daten zum Terminkalender - nur mit Tupeln. Beurteile diese Darstellung.

>>> kalender = (
	((11, 7, 2011), (10, 0), 'Geburtstag Anna'),
	((11, 7, 2011), (20, 0), 'Kino'),
	((14, 7, 2011), (15, 30), 'Zahnarzt'),
	((14, 7, 2011), (17, 0), 'Treffen mit P.'),
	((15, 7, 2011), (18, 0), 'Training')
	)
>>> kalender
[((11, 7, 2011), (10, 0), 'Geburtstag Anna'), ((11, 7, 2011), (20, 0), 'Kino'), ...]
X

Fehler melden

X

Suche