<jupyter_start><jupyter_text>罗马数字转阿拉伯数字[![Author](https://img.shields.io/badge/Author-%40mjd507-important?style=social&logo=GitHub)](https://github.com/mjd507)[![WeChat Channel](https://img.shields.io/badge/Wechat-Daily%20Problem-important?style=social&logo=WeChat)](https://mp.weixin.qq.com/s/ev1M4tDUL_DozjKIG0TwsA)![Logo](img/Day79-1.png) 　　给定一串罗马数字，确定其十进制数值。输入的罗马数字将被限制在$1 \leq x \leq 3999$。  用例说明```pythonIn[1]:  IXOut[1]: 9In[2]:  VIIOut[2]: 7In[3]:  MCMIVOut[3]: 1904```　　罗马数字基于以下字符：| 字母 | 数值 | 字母 | 数值 | 字母 | 数值 ||:----:|:----:|:----:|:----:|:----:|:----:||  I   |  1   |  XL  |  40  |  CD  | 400  ||  IV  |  4   |  L   |  50  |  D   | 500  ||  V   |  5   |  XC  |  90  |  CM  | 900  ||  IX  |  9   |  C   | 100  |  M   | 1000 ||  X   |  10  |　　数值是这些字符按降序排列。在一些情况下，减号用于避免重复字符，规则如下：1. `I`在`V`之前表示$-1$，因此`IV`是4、`IX`是9；2. `X`在`L`和`C`之前表示$-10$，因此`XL`是40、`XC`是90；3. 放在`D`或`M`前的`C`表示$-100$，因此`CD`是400、`CM`是900。<jupyter_code>class Solution():
    def romanToInt(self, s: str) -> int:
        romance = {
            'I': 1,
            'V': 5,
            'X': 10,
            'L': 50,
            'C': 100,
            'D': 500,
            'M': 1000
        }
        prev = 0
        total = 0
        for i in s[-1::-1]:
            current = romance[i]
            if prev > current:
                total -= current
            else:
                total += current
            prev = current
        return total
print(Solution().romanToInt('MCMX'))<jupyter_output>1910
{'fraction_non_alphanumeric': 0.20974289580514208, 'fraction_numerical': 0.07171853856562922, 'mean_word_length': 2.04320987654321, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 6, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '297345', 'license': 'MIT', 'n_tokens_mistral': 788, 'n_tokens_neox': 747, 'n_words': 95, 'path': 'March/Week12/79.ipynb', 'repo_name': 'Dragon1573/Daily-Problem', 'size': '1478'}