python罗马数字转换
时间: 2023-07-09 07:46:23 浏览: 162
可以使用以下代码将阿拉伯数字转换成罗马数字:
```python
def to_roman(num):
roman_map = ('M', 1000), ('CM', 900), ('D', 500), ('CD', 400), ('C', 100), ('XC', 90), ('L', 50), ('XL', 40), ('X', 10), ('IX', 9), ('V', 5), ('IV', 4), ('I', 1)
roman = ''
while num > 0:
for r, n in roman_map:
while num >= n:
roman += r
num -= n
return roman
```
你可以调用这个函数并将阿拉伯数字作为参数传递给它,以获取一个罗马数字字符串。例如,如果你想将数字 2019 转换为罗马数字,只需执行以下代码:
```python
print(to_roman(2019))
```
输出结果将是:`MMXIX`。
相关问题
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实现将阿拉伯数字转换为罗马数字的代码:
```python
def arabic_to_roman(num):
roman_dict = {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_num = ''
for r in roman_dict:
while num >= r:
roman_num += roman_dict[r]
num -= r
return roman_num
```
使用示例:
```python
print(arabic_to_roman(1)) # I
print(arabic_to_roman(4)) # IV
print(arabic_to_roman(9)) # IX
print(arabic_to_roman(49)) # XLIX
print(arabic_to_roman(3999)) # MMMCMXCIX
```
阅读全文