<分区>
我正在尝试用 python3 解决这个 python 问题,我的代码如下所示。
class Solution:
def romanToInt(self, s: str) -> int:
# Define integer value to each roman
rom_val = {'I': 1, 'V': 5, 'X': 10, 'L': 50,
'C': 100, 'D': 500, 'M': 1000}
# A list of integer values
value = list(map(rom_val.get, s))
# The subtracted new number
new = 0
# The converted integer number
integer = 0
# List to keep the checked roman
checked = []
for i, j in enumerate(value):
if j > value[i+1] or j == value[i+1]:
checked.append(j)
if j < value[i+1]:
new = value[i+1] - j
checked.append(new)
return sum(checked)
但是,我在第一个 if 语句中收到 IndexError: list index out of range。 尽管我知道这是一个相当简单的问题,但有些事情我不明白。 所以我有两个问题: 1.当然,为什么我会收到这个索引错误?我如何解决它? 2. 我解决这个问题的方法是否正确?
非常感谢。