Я пытался преобразовать римский в десятичный, используя следующий код. Кажется, он работает правильно согласно logi c, но когда я запускаю, он показывает ложные результаты, когда я беру тестовые примеры, такие как «MDCCXCVI» или «MCMXCIV»
Вот код .
enter code here
roman = {'I':'1','V':'5','X':'10','L':'50','C':'100','D':'500','M':'1000'}
z=0
for i in range(len(s) - 1):
if roman[s[i]] < roman[s[i+1]]:
z -= int(roman[s[i]])
else:
z += int(roman[s[i]])
return z + int(roman[s[-1]])