Python阿拉伯数字转换为罗马数字
时间: 2023-11-05 19:12:57 浏览: 151
以下是将Python中的阿拉伯数字转换为罗马数字的代码:
```python
def arabic_to_roman(n):
roman_numerals = {1000: 'M', 900: 'CM', 500: 'D', 400: 'CD', 100: 'C', 90: 'XC',
50: 'L', 40: 'XL', 10: 'X', 9: 'IX', 5: 'V', 4: 'IV', 1: 'I'}
roman = ''
for value, numeral in roman_numerals.items():
while n >= value:
roman += numeral
n -= value
return roman
```
这个函数将输入的阿拉伯数字n转换为相应的罗马数字。它使用了一个字典roman_numerals来存储罗马数字的值和符号。然后,它遍历字典中的所有值和符号,并使用while循环将数字转换成罗马数字。最后,它返回罗马数字作为字符串。
相关问题
Python罗马数字转换阿拉伯数字
Python中可以通过以下代码将罗马数字转换为阿拉伯数字:
```python
def romanToInt(s: str) -> int:
roman_dict = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
res = 0
for i in range(len(s)):
if i < len(s) - 1 and roman_dict[s[i]] < roman_dict[s[i+1]]:
res -= roman_dict[s[i]]
else:
res += roman_dict[s[i]]
return res
```
其中,`roman_dict`是一个字典,用于将罗马数字和阿拉伯数字对应起来。在函数中,我们遍历输入的罗马数字字符串`s`,根据当前字符和下一个字符的大小关系,计算出对应的阿拉伯数字并累加到结果中。
python 将罗马数字转换成阿拉伯数字
可以使用以下代码将罗马数字转换成阿拉伯数字:
```python
def roman_to_int(s: str) -> int:
roman_dict = {'I': 1, 'V': 5, 'X': 10, 'L': 50, 'C': 100, 'D': 500, 'M': 1000}
result = 0
prev_value = 0
for i in range(len(s)-1, -1, -1):
value = roman_dict[s[i]]
if value < prev_value:
result -= value
else:
result += value
prev_value = value
return result
```
其中,`roman_dict` 是罗马数字和对应阿拉伯数字的字典。从字符串的最后一个字符开始遍历字符串,如果当前字符对应的数字小于前一个字符对应的数字,则减去当前数字,否则加上当前数字。最后返回结果即可。
示例:
```python
>>> roman_to_int('III')
3
>>> roman_to_int('IV')
4
>>> roman_to_int('IX')
9
>>> roman_to_int('LVIII')
58
>>> roman_to_int('MCMXCIV')
1994
```
注意,这个方法只适用于标准的罗马数字表示法,不适用于一些非标准的写法。
阅读全文