罗马数字(1-3999)转阿拉伯数字

罗马数字不是位置计数,它的缺点有:1.罗马数字中没有零。
2.罗马数字书写繁琐且运算复杂
我的学号2020转换为罗马数字是MMXX
1204转换为罗马数字是MCCIV
将罗马数字转换成阿拉伯数字的代码如下
rn=input("Enter Roman numerals:")
ans=0
now=0
l=len(rn)
for a in range(len(rn)):
if rn[a]'I':
now=1
if (a+1<l)and(rn[a+1]
'V'):
now=-1
elif (a+1<l)and(rn[a+1]'X'):
now=-1
elif rn[a]
'X':
now=10
if (a+1<l)and(rn[a+1]'L'):
now=-10
elif (a+1<l)and(rn[a+1]
'C'):
now=-10
elif rn[a]'C':
now=100
if (a+1<l)and(rn[a+1]
'D'):
now=-100
elif (a+1<l)and(rn[a+1]'M'):
now=-100
elif rn[a]
'M':
now=1000
elif rn[a]'V':
now=5
elif rn[a]
'L':
now=50
elif rn[a]=='D':
now=500
ans+=now
print(ans)

原文地址:https://www.cnblogs.com/quicci/p/13822309.html