95 байт в настоящее время в Python
I,V,X,L,C,D,M,R,r=1,5,10,50,100,500,1000,vars(),lambda x:reduce(lambda T,x:T+R[x]-T%R[x]*2,x,0)
Вот несколько результатов теста, он должен работать от 1 до 3999 (предположим, что ввод действителен только для символа)
>>> r("I")
1
>>> r("MCXI")
1111
>>> r("MMCCXXII")
2222
>>> r("MMMCCCXXXIII")
3333
>>> r("MMMDCCCLXXXVIII")
3888
>>> r("MMMCMXCIX")
3999
И это не дублируется с этим , это обратный.
Итак, возможно ли сделать это короче в Python, или в других языках, таких как ruby, можно сделать короче?