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

4 Lösungen Lösungen öffentlich
#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:

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
vote_ok
von Exci (250 Punkte) - 19.05.2015 um 00:36 Uhr
Quellcode ausblenden Python-Code
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

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2096230

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.