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

  1. numerals: Eine Liste mit den römischen Zahlzeichen. Fügen Sie die Zahlzeichen nach absteigendem Wert ein.
  2. decimals: Eine Liste mit den entsprechenden Zahlenwerten (absteigend sortiert).
  3. count: Ein Zähler für die Position innerhalb der beiden Listen.
  4. 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

  1. Akzeptiere das GitHub Classroom Assignment im Moodlekurs.
  2. Klone das Repository in PyCharm.
  3. Realisiere die Programmlogik schrittweise und teste dein Programm.
  4. 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

Marcel Suter

1)
Die Subtraktionsregel, dass man maximal 3 identische Symbole schreiben darf, stammt aus dem Mittelalter.