Python-罗马数字转整数
方式一:
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
sum=0
nums=len(s)
for i in range(nums):
if i<nums-1:
if s[i]=='I':
if s[i+1]=='V' or s[i+1]=='X':
sum=sum-1
else:
sum=1+sum
elif s[i]=='V':
sum=sum+5
elif s[i]=='X':
if s[i+1]=='L' or s[i+1]=='C':
sum=sum-10
else:
sum=sum+10
elif s[i]=='L':
sum=sum+50
elif s[i]=='C':
if s[i+1]=='D' or s[i+1]=='M':
sum=sum-100
else:
sum=sum+100
elif s[i]=='D':
sum=sum+500
elif s[i]=='M':
sum=sum+1000
else:
if s[i]=='I':
sum=1+sum
elif s[i]=='V':
sum=sum+5
elif s[i]=='X':
sum=sum+10
elif s[i]=='L':
sum=sum+50
elif s[i]=='C':
sum=sum+100
elif s[i]=='D':
sum=sum+500
elif s[i]=='M':
sum=sum+1000
return sum
方式二:
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
a={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
sum=0
for i in range(len(s)):
if i<len(s)-1 and a[s[i]]<a[s[i+1]]:
sum=sum-a[s[i]]
else:
sum=sum+a[s[i]]
return sum
转载请注明出处,欢迎讨论和交流!