class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
doAnd = 0
hashmap = {'I': 1, 'IV': 4, 'IX': 9, 'XL': 40, 'XC': 90, 'CD': 400, 'CM': 900, 'V': 5,
'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
ls = list(s)
while ls:
if ''.join(ls[:2]) in hashmap.keys(): # 先检查有没有特殊情况,join语句是拼接字符串
doAnd += hashmap[''.join(ls[:2])]
del ls[:2]
else:
if ''.join(ls[:1]) in hashmap.keys(): # 没有特殊情况,一个一个加
doAnd += hashmap[''.join(ls[:1])]
del ls[:1]
return doAnd
c=Solution()
a="MCMXCIV"
c1=c.romanToInt(a)
print('c1=',c1)
原文