|
10鱼币
1.这个代码运行报错
2.求助这个代码的意思
class Solution(object):
def romanToInt(self, s):
"""
:type s: str
:rtype: int
"""
sum=0
convert={'M': 1000 , 'D': 500 , 'C': 100 , 'L': 50 , 'X': 10 , 'V': 5 , 'I': 1}
for i in range(len(s)-1):
if convert[s[i]] < convert[s[i+1]]:
sum -= convert[s[i]]
else:
sum += convert[s[i]]
sum += convert[s[-1]]
return sum
a = eval(input("请输入一个罗马数字:"))
palindrome_bool = a.romanToInt(a)
print(palindrome_bool)
本帖最后由 傻眼貓咪 于 2021-10-22 14:00 编辑
參考我的吧,很久之前我在力扣作解說的代碼: - class Solution:
- def romanToInt(self, s: str) -> int:
- roman = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000} # 步驟1
- nums = [roman[i] for i in s][::-1] # 步驟2 # 步驟3
- a = nums[0]
- sum = 0
- for i in nums: # 步驟4 # 步驟5
- if i < a:
- sum -= i
- elif i == a:
- sum += i
- else:
- a = i
- sum += i
- return sum
- // 作者:傻眼貓咪
- // 链接:https://leetcode-cn.com/problems/roman-to-integer/solution/pythonjie-fa-chun-cui-ji-lu-by-sha-yan-m-10c0/
- // 来源:力扣(LeetCode)
- // 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
复制代码
|
-
|