class solution(object):def romantoint(self, s):
""":type s: str
:rtype: int
"""# 使用整數轉羅馬數的兩個列表
num_tuple = [1000, 500, 100, 50, 10, 5, 1]
roman_tuple = ['m', 'd', 'c', 'l', 'x', 'v', 'i']
# 使用dict和zip方法是其轉為字典 格式為:
merge_dic = dict(zip(roman_tuple, num_tuple))
print(merge_dic)
# 記錄最後的結果值
num = 0
# 因為類似iv這樣的需要比較兩者之間的值,所以只取到len(s)-1,
for i in range(len(s)-1):
# 判斷第i個數的值是否小於第i+1個數的值,是的話減去第i個數的值
if merge_dic[s[i]] < merge_dic[s[i+1]]:
num -= merge_dic[s[i]]
# 不是的話加上第i個數的值
else:
num += merge_dic[s[i]]
# 這是加最後乙個數的值
num += merge_dic[s[-1]]
return num
if __name__ == '__main__':
s = solution()
print(s.romantoint("mcmliv"))
羅馬數字轉換程式
在一本書裡看到一段羅馬數字的程式,需求如下,自己試著用python和erlang各寫了一遍,感覺有些地方還是不太舒服,大家看看這個程式還能怎麼改改更好 或者在某圖書館或某大學的貢獻牆上看到它們 成立於mdcccl viii 而不是 成立於1888 你也可能在某些文獻的大綱或者目錄上看到它們。這是乙個...
20190502 羅馬數字轉換為數字
羅馬數字包含以下七種字元 i,v,x,l,c,d 和 m。字元 數值 i 1 v 5 x 10 l 50 c 100 d 500 m 1000 例如,羅馬數字 2 寫做 ii 即為兩個並列的 1。12 寫做 xii 即為 x ii 27 寫做 xxvii,即為 xx v ii 通常情況下,羅馬數字中...
羅馬數字轉換為整數
給定乙個羅馬數字 s s,將羅馬數字轉換成整數。如羅馬數字i,ii,iii,iv,v分別代表數字 1,2,3,4,51,2,3,4,5。首先要來了解一下羅馬數字表示法,基本字元有 7 7 個 i v x l c d m,分別表示 11 5 5 1010 505 0 10010 0 50050 0 1...