Kapitel 9
Ein- und Ausgabe
272
Abb. 9.8: Testen eines Skripts mit Kommandozeilen-Argumenten (Pythonwin)
9.7 Übungen
Aufgabe 1
Bei einem Marathonlauf müssen am Zielpunkt die Ankunftszeiten der Läufer registriert
werden. Schreiben Sie ein interaktives Python-Skript, das Folgendes leistet:
Immer wenn ein neuer Läufer das Ziel erreicht, wird seine Startnummer eingegeben.
Nach Eingabe einer Startnummer wird die Ankunftszeit über die Systemuhr ermittelt.
Startnummer und Ankunftszeit werden in einer Textdatei mit dem Pfad /marathon/
daten.txt
zeilenweise abgespeichert.
Das Programm wird beendet, indem der Benutzer nichts eingibt, sondern nur (Enter)
drückt.
273
9.7
Übungen
Damit im Falle eines Systemabsturzes keine Daten verloren gehen, soll nach jeder Ein-
gabe eine Zwischenspeicherung erfolgen.
Beispieldialog:
Programmierhinweis: Durch die folgende Anweisungsfolge erhält die Variable
zeit die
aktuelle Uhrzeit als String:
Aufgabe 2
Gegeben ist die folgende Liste von Tupeln, die das Ergebnis der Analyse einer Metallprobe
darstellen soll. Jedes Tupel enthält den Namen eines Edelmetalls und dessen Gehalt in
Prozent.
Schreiben Sie ein Skript, das diese Liste auf dem Bildschirm tabellarisch in folgenden For-
maten ausgibt:
Welche Darstellungsform halten Sie für die beste?
Aufgabe 3
Entwickeln Sie ein Skript, das Telefonnummern verwaltet. Die Besonderheit soll die Benut-
zungsschnittstelle sein. Nach jeder Aktion erscheint auf dem Bildschirm ein Menü und der
Benutzer kann eine von folgenden Programmfunktionen auswählen:
Startnummer: 233
Startnummer: 412
Startnummer: 28
Startnummer:
Die Daten befinden sich in der Datei /marathon/daten.txt
import time
zeit = time.asctime()
liste = [('Gold', 0.1234), ('Silber', 23.45), ('Platin', 0.0678)]
Gold 0.1234 // Silber 23.45 // Platin 0.0678 //
Gold 0.1234
Silber 23.45
Platin 0.0678
Gold: 0.12
Silber: 23.45
Platin: 0.07
Kapitel 9
Ein- und Ausgabe
274
Suche nach einer Telefonnummer: Der Benutzer gibt über die Tastatur einen Namen ein
und erhält als Antwort die Telefonnummer, falls sie gespeichert ist. Ansonsten gibt es
die Meldung »Name unbekannt«.
Neue Nummer eintragen: Der Benutzer wird nach einem Namen und der zugehörigen
Telefonnummer gefragt.
Alle Nummern ausgeben: Auf dem Bildschirm erscheint eine gut lesbare Tabelle mit
allen gespeicherten Namen und Telefonnummern.
Ende: Das aktualisierte Telefonbuch wird gespeichert und das Programm beendet.
Beispieldialog:
(S)uche nach Telefonnummer
(N)eue Nummer eintragen
(A)lle Nummern ausgeben
(E)nde
Ihre Wahl: n
Name: Max
Nummer: 89923
Neuer Eintrag gespeichert
(S)uche nach Telefonnummer
(N)eue Nummer eintragen
(A)lle Nummern ausgeben
(E)nde
Ihre Wahl: s
Name: Tim
Nummer: 85675
(S)uche nach Telefonnummer
(N)eue Nummer eintragen
(A)lle Nummern ausgeben
(E)nde
Ihre Wahl: a
Name Nummer
______________________________
Tim 85675
Jenny 233325
Max 89923
(S)uche nach Telefonnummer

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.