
ich bin ein absoluter Python Neuling, der sich mit Hilfe von Büchern und Web das Programmieren ein wenig selbst bei bringen möchte.
In dem Buch Python Intensivkurs habe ich ein Programm gefunden, welches romanische Zahlen übersetzt bzw. umgekehrt. Dies fand ich allerdings ungemein kompliziert, zumal zusätzliche Testfunktionen mit implementiert wurden. Nach kurzem Suchen bin ich auf diesen Code gestoßen, jedoch verstehe ich ihn einfacher nicht im Kontext.
Wie lese ich denn nun de def int_to_roman?
Was macht Python? Klar, ich erstellen eine Liste, die die Intergers in nummerals vokabuliert.
Nun wird...
Jedes mal, wenn ich probiere Zeile für Zeile durchzugehen, komme ich ins wanken und bekomme die Übergänge nicht gefasst. Sorry... :K
Code: Alles auswählen
numeral_map = [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"), (90, "XC"),
(50, "L"), (40, "XL"), (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I")]
def int_to_rom(i):
result = []
for integer, numeral in numeral_map:
count = i // integer
result.append(numeral * count)
i -= integer * count
return ''.join(result)
def rom_to_int(n):
i = result = 0
for integer, numeral in numeral_map:
while n[i:i + len(numeral)] == numeral:
result += integer
i += len(numeral)
return result
liebe Grüße
NeuINFling