关于罗马数字转阿拉伯数字的学习
基本知识
1.罗马数字不是位置计数,他的缺点有
(1)书写复杂繁琐,记起来不方便
(2)不能表示零
(3)运算复杂
阿拉伯数字转罗马数字
根据学历了解到,罗马数字只能表示到3999,无法直接表示学号八位数,所以只得将学号拆分成两部分
2021→MMXXI
1402→MCDII
Python编写
str = input("MMXXI")
sum = 0
for i in range(len(str)):
if str[i]=="I":
if i!=len(str)-1 and (str[i+1]=='V' or str[i+1]=="X"):
sum-=1
else:
sum+=1
elif str[i]=="V":
sum+=5
elif str[i]=="X":
if (i!=len(str)-1 and (str[i+1]=="C" or str[i+1]=="L")):
sum-=10
else:
sum+=10
elif str[i]=="L":
sum+=50
elif str[i]=="C":
if (i!=len(str)-1 and (str[i + 1] == "D" or str[i+1]=="M")):
sum-=100
else:
sum+=100
elif str[i]=="D":
sum+=500
elif str[i]=="M":
sum+=1000
print(sum)
2021