Konvertieren Sie Integer in Python in römische Zahlen

Rohan Timalsina 21 Juni 2023
  1. Konvertieren Sie ganze Zahlen in Python in römische Zahlen
  2. Verwenden Sie Division, um ganze Zahlen in Python in römische Zahlen umzuwandeln
Konvertieren Sie Integer in Python in römische Zahlen

Römische Zahlen werden mit den folgenden sieben Symbolen geschrieben.

Symbol       Value
I             1
V             5
X             10
L             50
C             100
D             500
M             1000

Diese Symbole werden verwendet, um Tausende von Zahlen darzustellen.

Um 20 in Roman zu schreiben, können Sie zwei X verwenden, um XX zu machen. Aber XXXX ist nicht gleich 40.

Die römische Ziffer für 40 ist XL.

Ähnlich:

Symbol       Value
IV             4
IX             9
XL             40
XC             90
CD             400
CM             900

In diesem Tutorial lernen Sie, eine ganze Zahl in Python in eine römische Zahl umzuwandeln.

Konvertieren Sie ganze Zahlen in Python in römische Zahlen

Das Folgende ist eine Implementierung eines Python-Programms, das eine gegebene Ganzzahl in ihr römisches Zahlenäquivalent umwandelt.

roman_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 into_roman(num):
    res = ""
    while num > 0:
        for i, r in roman_map:
            while num >= i:
                res += r
                num -= i
    return res


num = int(input("Enter a number: "))
print(into_roman(num))

Ausgang:

Enter a number: 42
XLII

Im obigen Beispiel enthält roman_map eine Liste mit entsprechenden Werten und Symbolen. res ist ein leerer String.

Das while num > 0 führt die Schleife aus, wenn der Wert von num größer als Null ist. In römischen Ziffern gibt es kein Symbol für Null.

Das for i, r in roman_map durchläuft jedes (ganzzahlige, römische) Paar, bis es die erste Ziffer findet.

Für eine detaillierte Visualisierung des Codes führen Sie den Code hier aus.

Verwenden Sie Division, um ganze Zahlen in Python in römische Zahlen umzuwandeln

Im folgenden Beispiel wird die Divisionsmethode verwendet, um eine vom Benutzer eingegebene Ganzzahl in eine römische Zahl umzuwandeln.

roman_map = {
    1: "I",
    4: "IV",
    5: "V",
    9: "IX",
    10: "X",
    40: "XL",
    50: "L",
    90: "XC",
    100: "C",
    400: "CD",
    500: "D",
    900: "CM",
    1000: "M",
}
num = int(input("Enter a number: "))

# 13 integers in descending order
order = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]

for i in order:
    if num != 0:
        quotient = num // i

        # prints the roman numeral if the quotient is not zero
        if quotient != 0:
            for j in range(quotient):
                print(roman_map[i], end="")

        # update input number with a remainder
        num = num % i

Ausgang:

Enter a number: 42
XLII

Bei diesem Ansatz dividieren wir die eingegebene ganze Zahl durch 13 primäre ganze Zahlen in absteigender Reihenfolge. Die roman_map ist ein Wörterbuch, das 13 Ganzzahlen enthält, deren römische Ziffern in Schlüssel:Wert-Paaren äquivalent sind.

Das num speichert die vom Benutzer eingegebene Ganzzahl. Die Liste order speichert 13 Integer in absteigender Reihenfolge.

Die eingegebene Zahl wird solange durch alle Zahlen der order-Liste dividiert, bis der Quotient nicht Null ist.

Wenn der Quotient nicht Null ist und es einen Rest gibt, wird er in einer Zahl aktualisiert. Die Schleife läuft weiter und wir erhalten das römische Zahlenäquivalent.

Visualisieren Sie den obigen Code in diesem Link.

Jetzt sollten Sie wissen, wie Sie in Python eine Ganzzahl in ihr römisches Zahlenäquivalent umwandeln. Wir hoffen, dass Sie dieses Tutorial hilfreich finden.

Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - Python Integer