Einführung
Römische Zahlen sind ein Zahlensystem, das im alten Rom entstanden ist. Sie werden heute noch in verschiedenen Kontexten verwendet, wie beispielsweise bei der Nummerierung von Buchkapiteln und Filmsequels. In dieser Herausforderung müssen Sie eine Funktion erstellen, die eine Ganzzahl zwischen 1 und 3999 (einschließlich) in seine römische Zahlenrepräsentation umwandelt.
Ganzzahl in römische Zahlen
Schreiben Sie eine Funktion to_roman_numeral(num), die eine Ganzzahl num zwischen 1 und 3999 (einschließlich) nimmt und ihre römische Zahlenrepräsentation als Zeichenfolge zurückgibt.
Um eine Ganzzahl in ihre römische Zahlenrepräsentation umzuwandeln, können Sie eine Suchliste verwenden, die Tupel im Format (römischer Wert, Ganzzahl) enthält. Anschließend können Sie eine for-Schleife verwenden, um über die Werte in der Suchliste zu iterieren und divmod() verwenden, um num mit dem Rest zu aktualisieren und die römische Zahlenrepräsentation zum Ergebnis hinzuzufügen.
Ihre Funktion sollte die römische Zahlenrepräsentation der eingegebenen Ganzzahl zurückgeben.
def to_roman_numeral(num):
lookup = [
(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'),
]
res = ''
for (n, roman) in lookup:
(d, num) = divmod(num, n)
res += roman * d
return res
to_roman_numeral(3) ## 'III'
to_roman_numeral(11) ## 'XI'
to_roman_numeral(1998) ## 'MCMXCVIII'
Zusammenfassung
In dieser Herausforderung haben Sie gelernt, wie Sie eine Ganzzahl in ihre römische Zahlenrepräsentation umwandeln. Sie haben eine Suchliste verwendet, die Tupel im Format (römischer Wert, Ganzzahl) enthält, und eine for-Schleife, um über die Werte in der Suchliste zu iterieren. Sie haben auch divmod() verwendet, um num mit dem Rest zu aktualisieren und die römische Zahlenrepräsentation zum Ergebnis hinzuzufügen.