Python3 實(shí)現(xiàn)羅馬數(shù)字轉(zhuǎn)換
def Roman_numerals(num):
# 字典中配置好每個(gè)字符對應(yīng)的數(shù)字
Roman_s = {'I': 1,'V': 5,'X': 10,'L': 50,'C': 100,'D': 500,'M': 1000}
s = 0
# 循環(huán)n-1次,確定每個(gè)數(shù)字前的符號,并計(jì)算和
for i in range(len(num)-1):
if Roman_s[num[i]]<Roman_s[num[i+1]]:
s -= Roman_s[num[i]]
else:
s += Roman_s[num[i]]
# 加上最后一個(gè)數(shù)字
s += Roman_s[num[-1]]
return s
print(Roman_numerals("I"))
print(Roman_numerals("IV"))
結(jié)果
1
4
備注:文中沒有考慮‘’0‘’的寫法
沒有考慮在一個(gè)數(shù)的上面畫一條橫線的情況
沒有考慮錯誤寫法等