关于罗马数字转阿拉伯数字的学习

基本知识

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
posted @ 2021-10-17 16:42  20211402赵佳怡  阅读(106)  评论(0编辑  收藏  举报