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 zahlKommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1
