列表["M","C"] 到 -> MC

List["M","C"] to -> MC

我是编程新手,正在尝试学习 Python。 我试图编写一个简单的代码,将整数转换为罗马数字。 我正在寻找一种方法将我创建的列表转换成类似的东西 MCCVI。 现在如果整数 exp 就足够了。 1523 写成 MDXXIII。 这是我的代码:

a= int(input("Geben sie eine Zahl ein:"))
M=1000
D=500
C=100
L=50
X=10
V=5
I=1
liste= ["M","D","C","L","X","V","I"]
i=0
erg=[]

while i < len(liste):

    while a > eval(liste[i]):
        a = a- eval(liste[i])
        erg += liste[i]

    i+=1

print(erg)
a= int(input("Geben sie eine Zahl ein:"))


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')]



roman_num = ""
while a > 0:
    for i, r in roman_map:
        while a >= i:
            roman_num += r

            a -= i

print roman