Python :: Aufgabe #80
3 Lösungen

Jahreszahlenkonverter für römische Schreibweise
Anfänger - Python
von BlackBird321
- 04.06.2015 um 22:36 Uhr
Bitte schreibe ein Programm, welches eine einzugebende Jahreszahl in eine römische Schreibweise umwandelt.
Beispiel:
1995 = MCMXCV
2015 = MMXV
Beispiel:
1995 = MCMXCV
2015 = MMXV
Lösungen:

jahr = int(input("Jahr: ")) jahr_ausgabe = jahr ausgabe = '' while jahr != 0: while jahr >= 1000: ausgabe += 'M' jahr -= 1000 while jahr >= 500: if jahr >= 900: ausgabe += 'CM' jahr -= 900 else: ausgabe += 'D' jahr -= 500 while jahr >= 100: if jahr >= 400: ausgabe += 'CD' jahr -= 400 else: ausgabe += 'C' jahr -= 100 while jahr >= 50: if jahr >= 90: ausgabe += 'XC' jahr -= 90 else: ausgabe += 'L' jahr -= 50 while jahr >= 10: if jahr >= 40: ausgabe += 'XL' jahr -= 40 else: ausgabe += 'X' jahr -= 10 while jahr >= 4: if jahr >= 9: ausgabe += 'IX' jahr -= 9 elif jahr >= 5 and jahr <=8: ausgabe += 'V' jahr -= 5 else: ausgabe += 'IV' jahr -= 4 while jahr > 0: ausgabe += 'I' jahr -= 1 print(jahr_ausgabe,"=",ausgabe)

Römische_zahlen = [["I","IV","V","IX"],["X","XL","L","XC"],["C","CD","D","CM"],["M"]] run = True while run : a = input("Bitte Jahres Zahl eingeben: ") zahl = [] counter = -1 for i in a[::-1] : counter += 1 if int (i) < 4 : zahl.append(Römische_zahlen[counter][0] * int(i)) if int(i) == 4 : zahl.append(Römische_zahlen[counter][1]) if int(i) == 5 : zahl.append(Römische_zahlen[counter][2]) if int(i) > 5 and int(i) < 9: zahl.append(Römische_zahlen[counter][2]+(int(i)-5)* Römische_zahlen[counter][0]) if int(i) == 9 : zahl.append(Römische_zahlen[counter][3]) ausgabe = "Auf Römisch: " for n in zahl [::-1] : ausgabe += n print (ausgabe) ende = input ("weiter j/n?") if ende == "n" : print("ENDE") run = False

# -*- coding: utf-8 -*- zahlen = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1] zahlzeichen = ["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", \ "IV", "I"] arabisch = input("Jahreszahl Arabisch: ") roemisch = "" for i in zahlen: while arabisch >= i: roemisch = roemisch + zahlzeichen[zahlen.index(i)] arabisch = arabisch - i print "\nJahreszahl Roemisch: " + roemisch