目前在 python 中的 95 个字节
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
这与 this 不重复,这是相反的。
那么,是否有可能在 Python 中缩短它,或者像 ruby 这样的其他语言可以做得比这更短?