例题:LeetCode罗马数字转整数
一、python中类的编码格式示例1
class Solution():
def luomashuzi(self, s):
a = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
ans = 0
for i in range(Solution().strlen(s)):
if i<len(s)-1 and a[s[i]]<a[s[i+1]]:
ans = ans - a[s[i]]
else:
ans = ans + a[s[i]]
return ans
def strlen(self,s):
return len(s)
if __name__ == '__main__':
w = Solution()
print('s=')
s = str(input())
ans = w.luomashuzi(s)
print('ans=',ans)
二、python中类的编码格式示例2
class Solution():
def __init__(self,s):
self.a = s
def luomashuzi(self):
a = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
ans = 0
for i in range(Solution(s).strlen()):
if i < len(self.a) - 1 and a[self.a[i]] < a[self.a[i + 1]]:
ans = ans - a[self.a[i]]
else:
ans = ans + a[self.a[i]]
return ans
def strlen(self):
return len(self.a)
if __name__ == '__main__':
print('s=')
s = str(input())
w = Solution(s)
ans = w.luomashuzi()
print('ans=',ans)