1.罗马数字是否为位置计数及其缺点
答:罗马数字不是位置计数;
缺点:不能用罗马数字表示0,罗马数字是有限的,最多表示到3999,而且书写较繁琐,缺乏直观性
2.八位学号转化罗马数字
2020 ———— MMXX
1229 ———— MCCXXIX
3.利用Python写转化程序
借鉴如下:
def intToRoman(self, num):
"""
:type num: int
:rtype: str
"""
arabic = [1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
roman = ['M', 'CM', 'D', 'CD', 'C', 'XC', 'L', 'XL', 'X', 'IX', 'V', 'IV', 'I']
ret = ''
i = 0
while num:
yu = num // arabic[i]
ret += roman[i] * yu
num = num - yu * arabic[i]
i += 1
return ret