任务描述
罗马数字包含以下七种字符(字母大写):
I,V,X,L,C,D,M
对应关系如下:
I=1, V=5 ,X=10, L=50, C=100, D=500, M=1000
比如3表示为III,也就是1+1+1=3
XII表示 10+1+1 = 12
MD表示1000+500 =1500
一般来说,大的数字出现在小的数字的左边,但也存在下列情况:
IV=4,IX=9,XL=40, XC=90, CD=400, CM=900
输入一个罗马数字数串,计算对应的10进制整数数值并输出。本题用例均为合法罗马数字表示(不含其他字符)
示例 1
输入:XI 输出:11
示例 2
输入:XIV 输出:14
switch_dic=dict(I=1, V=5 ,X=10, L=50, C=100, D=500, M=1000)
num_ch=input()
sum_num=0
for i in range(len(num_ch)-1):
if switch_dic[num_ch[i]]<switch_dic[num_ch[i+1]]:
sum_num-=switch_dic[num_ch[i]]
else:
sum_num+=switch_dic[num_ch[i]]
sum_num+=switch_dic[num_ch[-1]]
print(sum_num)