Python3 实现罗马数字转换
def Roman_numerals(num):
# 字典中配置好每个字符对应的数字
Roman_s = {'I': 1,'V': 5,'X': 10,'L': 50,'C': 100,'D': 500,'M': 1000}
s = 0
# 循环n-1次,确定每个数字前的符号,并计算和
for i in range(len(num)-1):
if Roman_s[num[i]]<Roman_s[num[i+1]]:
s -= Roman_s[num[i]]
else:
s += Roman_s[num[i]]
# 加上最后一个数字
s += Roman_s[num[-1]]
return s
print(Roman_numerals("I"))
print(Roman_numerals("IV"))
结果
1
4
备注:文中没有考虑‘’0‘’的写法
没有考虑在一个数的上面画一条横线的情况
没有考虑错误写法等
网友评论