Römische Zahlen¶
In diesem Kapitel lernst du:¶
Bereich |
Thema |
|---|---|
⚙ |
ein Dictionary anlegen |
⚙ |
Werte im Dictionary nachschlagen |
🔀 |
Listen als Werte verwenden |
🐞 |
Indexfehler beheben |
Aufgabe 1: Nachschlagen¶
Wir möchten römische Ziffern in arabische Ziffern umwandeln. Dazu eignet sich ein Dictionary, eine neue Datenstruktur.
Führe folgenden Code aus:
werte = {
"I": 1,
"V": 5,
"X": 10,
}
print(werte["V"])
Wie unterscheidet sich das Dictionary von einer Liste?
Aufgabe 2: Erkunden¶
Finde heraus, was jeder der Ausdrücke mit dem Dictionary in der Mitte anstellt.
Aufgabe 3: Längere Zahlen¶
Diesmal hast du mehrere Ziffern in der String-Variable roman. Du möchtest den Gesamtwert aller Ziffern berechnen. Dazu müssen Strings und Dictionaries zusammenarbeiten. Sortiere die Codezeilen und rücke sie ein:
print(gesamt)
gesamt += werte[ziffer]
roman = "XVII"
for ziffer in roman:
gesamt = 0
werte = {
"I": 1,
"V": 5,
"X": 10,
"L": 50,
}
Aufgabe 4: größere Zahlen¶
Füge dem Dictionary Werte für die übrigen römischen Ziffern hinzu (C, D, M).
Aufgabe 5: die schwierigen Zahlen¶
Einige römische Zahlen haben es in sich, weil die Reihenfolge eine Rolle spielt. So steht IV für 4 (fünf minus eins) oder XC für 90. Sorge dafür, dass auch diese Ziffern korrekt umgewandelt werden. Implementiere den folgenden Algorithmus:
Setze den Gesamtwert auf 0
Setze die letze betrachtete Ziffer auf „“
Gehe die römischen Ziffern von hinten nach vorne durch
Ist die Ziffer größer als die letzte, addiere sie zum Gesamtwert
Ist die Ziffer kleiner als dier letzte, ziehe sie vom Gesamtwert arabische
Aktualisiere die letzte betrachtete Ziffer
Teste dein Programm mit unterschiedlichen römischen Zahlen.
Reflexionsfragen¶
Wie kannst du ein Dictionary erstellen?
Welche Datentypen funktionieren als Schlüssel?
Welche Datentypen funktionieren als Werte?
Wie kannst Du Werte in einem Dictionary verändern?
Kannst Du eine for-Schleife über ein Dictionary laufen lasssen?