#题目(本题较为简单)
七个不同的符号代表罗马数字,其值如下
符号 值
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
罗马数字是通过添加从最高到最低的小数位值的转换而形成的。将小数位值转换为罗马数字有以下规则:【此处省略可去官网查看】
#注意点
1. 本题中,应对自己的思路有把握,不能因为一时没有想到用过的算法而气馁
2. 代码中,当返回值有多个时,可用join处理
3. 对类的不善使用,导致遍历字典时出错
#代码
class Solution:
VALUE_SYMBOLS = [
(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"),
]
def intToRoman(self, num: int) -> str:
roman = list()
for value, symbol in Solution.VALUE_SYMBOLS:
while num >= value:
num -= value
roman.append(symbol)
if num == 0:
break
return "".join(roman)
a = Solution()
print(a.intToRoman(3455))
#结果
MMMCDLV