羅馬數字轉換

2021-09-26 23:26:25 字數 814 閱讀 3481

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...