Python :: Aufgabe #20 :: Lösung #1
4 Lösungen

#20
Zahlen in Römischer Schreibweise
Anfänger - Python
von pocki
- 29.12.2012 um 19:40 Uhr
Schreibe eine Programm welches eine Ganzzahl einliest und diese anschließend in römischer Schreibweise wieder ausgibt und umgekehrt bei einer eingegebenen Zahl in römischer Schreibweise diese als normale Zahl wieder ausgibt:
Die Erkennung der Schreibweise sollte automatisch funktionieren.
Konsolenausgabe:
Geben Sie eine Zahl ein: 1234
entspricht: MCCXXXIV
Geben Sie eine Zahl ein: DXXXVII
entspricht: 537
Die Erkennung der Schreibweise sollte automatisch funktionieren.
#1

von Exci (250 Punkte)
- 19.05.2015 um 00:36 Uhr

def zahlinrom(zahl): rom = '' if zahl // 10000 >= 1: anzahl = zahl // 10000 zahl = zahl % 10000 for i in range(1,anzahl+1): rom += 'ↂ' if zahl // 5000 >= 1: anzahl = zahl // 5000 zahl = zahl % 5000 for i in range(1,anzahl+1): rom+= 'ↁ' if zahl // 1000 >= 1: anzahl = zahl // 1000 zahl = zahl % 1000 for i in range(1,anzahl+1): rom+= 'M' if zahl // 500 >= 1: anzahl = zahl // 500 zahl = zahl % 500 for i in range(1,anzahl+1): rom+= 'D' if zahl // 100 >= 1: anzahl = zahl // 100 zahl = zahl % 100 for i in range(1,anzahl+1): rom+= 'C' if zahl // 50 >= 1: anzahl = zahl // 50 zahl = zahl % 50 for i in range(1,anzahl+1): rom+= 'L' if zahl // 10 >= 1: anzahl = zahl // 10 zahl = zahl % 10 for i in range(1,anzahl+1): rom+= 'X' if zahl // 5 >= 1: anzahl = zahl // 5 zahl = zahl % 5 for i in range(1,anzahl+1): rom+= 'V' if zahl // 1 >= 1: anzahl = zahl // 1 zahl = zahl % 1 for i in range(1,anzahl+1): rom+= 'I' return rom def rominzahl(rom): rom = str(rom) zahl = 0 for i in rom: if i == 'ↂ': zahl += 10000 elif i == 'ↁ': zahl+= 5000 elif i == 'M': zahl+= 1000 elif i =='D': zahl+= 500 elif i =='C': zahl+= 100 elif i =='L': zahl+= 50 elif i =='X': zahl+= 10 elif i =='V': zahl+= 5 elif i == 'I': zahl += 1 return zahl
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1