罗马数字(1-3999)转阿拉伯数字
作者:互联网
罗马数字不是位置计数,它的缺点有:1.罗马数字中没有零。
2.罗马数字书写繁琐且运算复杂
我的学号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)
标签:10,elif,阿拉伯数字,罗马数字,3999,ans,rn,now 来源: https://www.cnblogs.com/quicci/p/13822309.html