class Solution(object): def romanToInt(self, s): “”” :type s: str :rtype: int “””便宜香港vps # 使用整数转罗马数的两个列表 num_tuple = [1000, 500, 100, 50, 10, 5, 1] roman_tuple = [‘M’, ‘D’, ‘C’, ‘L’, ‘X’, ‘V’, ‘I’] # 使用dict和zip方法是其转为字典 格式为:{‘M’: 1000, ‘X’: 10, ‘L’: 50, ‘D’: 500, ‘C’: 100, ‘V’: 5, ‘I’: 1} merge_dic = dict(zip(roman_tuple, num_tuple)) print(merge_dic) # 记录最后的结果值 num = 0 # 因为类似IV这样的需要比较两者之间的值,所以只取到len(s)-1, for i in range(len(s)-1): # 判断第i个数的值是否小于第i+1个数的值,是的话减去第i个数的值 if merge_dic[s[i]] < merge_dic[s[i+1]]: num -= merge_dic[s[i]] # 不是的话加上第i个数的值 else: num += merge_dic[s[i]] # 这是加最后一个数的值 num += merge_dic[s[-1]] return numif __name__ == ‘__main__’: s = Solution() print(s.romanToInt(“MCMLIV”)) 73830765
罗马数字转换器生日,罗马数字转换数字
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。