class Solution:
  def romanToInt(self, s):

    dict = {'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000}
    sum = 0
    # 字符串取不到,会报错,我们这里让循环总数-1次保证i+1能取到
    for i in range(len(s)-1):
      # 根据观察发现特殊IV、IX等情况,前面比后面小,正常都是先大后小
      if dict[s[i]] < dict[s[i + 1]]:
        sum -= dict[s[i]]
      else:
        sum += dict[s[i]]
    # 最后加上最后一个数
    sum += dict[s[-1]]
    return sum


pastr = 'MCMXCIV'
sol = Solution()
sol.romanToInt(pastr)

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄