LU06.A07: Römische Zahlzeichen
Erstelle das Programm für die Umwandlung von positiven Ganzzahlen in römische Zahlzeichen.
Römische Zahlen
https://de.wikipedia.org/wiki/R%C3%B6mische_Zahlschrift
Das römische Zahlensystem basiert ausschliesslich auf der Addition 1) der Symbole. Dabei werden immer möglichst wenige Symbole verwendet, um die Zahl zu notieren.
Römische Zahlzeichen
I | 1 |
V | 5 |
X | 10 |
L | 50 |
C | 100 |
D | 500 |
M | 1000 |
Beispiele
DCCXIIII
500 + 100 + 100 + 10 + 1 + 1 + 1 + 1 = 714
MMXXII
1000 + 1000 + 10 + 10 + 1 + 1 = 2022
Auftrag
Hinweise zu den Variablen
numerals
: EineListe
mit den römischen Zahlzeichen. Fügen Sie die Zahlzeichen nach absteigendem Wert ein.decimals
: EineListe
mit den entsprechenden Zahlenwerten (absteigend sortiert).count
: Ein Zähler für die Position innerhalb der beiden Listen.result
: Eine Variable um das Resultat zu speichern.
Programmlogik
1. Setze count gleich 0 2. Der Benutzer gibt eine natürliche Zahl ein => number 3. Solange number grösser als 0 ist 3.1. Falls number grösser oder gleich decimals[count] ist 3.1.1. Füge das Zeichen aus numerals[count] zum result hinzu. 3.1.2. Subtrahiere decimals[count] von number 3.2. Sonst 3.3. Erhöhe den Wert von count um 1 4. Gib das result aus 5. Gib die Listen ''numerals'' und ''decimals'' als Returnwert zurück: ''return numerals, decimals''
Vorgehen
- Akzeptiere das GitHub Classroom Assignment im Moodlekurs.
- Klone das Repository in PyCharm.
- Realisiere die Programmlogik schrittweise und teste dein Programm.
- Führe einen Commit & Push durch.
Abgabe
Die Abgabe erfolgt durch den Push ins GitHub Repository. In Moodle ist keine Abgabe vorgesehen oder möglich.
⇒ GitHub Repo für externe Besucher
GitHub-Repo: https://github.com/templates-python/m319-lu06-a07-roman
Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden
1)
Die Subtraktionsregel, dass man maximal 3 identische Symbole schreiben darf, stammt aus dem Mittelalter.