Как починить конвертер из римских в арабские числа?
Проблема лежит в прохождении по циклу (он начинается заново), вместо XC(90)
, находит X
, a C
вообще почему-то не ищет
rom2num = {'M': 1000, 'CM': 900, 'D': 500, 'CD': 400, 'C': 100,
'XC': 90, 'XL': 40, 'X': 10, 'IX': 9, 'V': 5,
'IV': 4, 'I': 1}
def tonum(str):
num = 0
while not str.find(""):
for letter,value in rom2num.items():
if letter in str:
num+= value
str = str.replace(letter,"",1)
return num
print(tonum("MCMXCIV"))