L, ls, res = ({'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000},
['CD', 'XL', 'IV', 'CM', 'XC', 'IX'], 0)
# L -- словарь значений римских цифр
# ls -- Все сочетания "неполных чисел"
a = input()
for i in ls:
# Умножаем их количество на цену в L
res += a.count(i) * (-1 * L[i[0]] + L[i[1]])
a = a.replace(i, '') # Убираем из строки, досчитывая остальные числа
# Подсчитываем оставшиеся
for i in a:
res += L[i]
print(res)
Пример кода на Python 3.6.6.