您好,登錄后才能下訂單哦!
這篇文章主要為大家詳細介紹了如何在Python3.5中將羅馬數字轉換成整數,文中示例代碼介紹的非常詳細,具有一定的參考價值,發現的小伙伴們可以參考一下:
Python主要應用于:1、Web開發;2、數據科學研究;3、網絡爬蟲;4、嵌入式應用開發;5、游戲開發;6、桌面應用開發。
問題概述:
給定一個羅馬數字 ,將羅馬數字轉換成整數。
如羅馬數字I,II,III,IV,V分別代表數字 1, 2, 3, 4, 51,2,3,4,5。
首先要來了解一下羅馬數字表示法,基本字符有 7 個:I、V、X、L、C、D、M,分別表示 1、5、10、50、100、500、1000。
在構成數字的時候,有下列規則:
1、相同的數字連寫,所表示的數等于這些數字相加得到的數,如:III = 3;
2、小的數字在大的數字的右邊,所表示的數等于這些數字相加得到的數, 如:VIII = 8;XII = 12;
3、小的數字,(限于Ⅰ、X和C)在大的數字的左邊,所表示的數等于大數減小數得到的數,如:IV = 4;IX = 9;
4、正常使用時,連寫的數字重復不得超過三次。
輸入格式
輸入一個羅馬數字字符串,其對應的數字為 s (1≤s≤3999)。
輸出格式
輸出對應的整數 s。
以下是詳細代碼:
# -*- coding:utf-8 -*- #! python3 chart = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000} strs = input() result = 0 omit = -1 # omit為需省略的字符位 if strs in chart: print(chart[strs]) else: for i in range(len(strs)): # 遍歷字符串的每一位:(0,len-1) if i == omit: # 如果無需省略i pass elif i <= len(strs)-2: # 如果還沒有遍歷到最后一位:(len-1-1) if chart[strs[i]] < chart[strs[i+1]]: # 如果前一位對應值小于后一位的 result += chart[strs[i+1]] - chart[strs[i]] # 進行減操作 omit = i+1 # 省略下一位字符 else: result += chart[strs[i]] else: # 遍歷到最后一位 result += chart[strs[i]] print(result)
測試運行結果:
以上就是億速云小編為大家收集整理的如何在Python3.5中將羅馬數字轉換成整數,如何覺得億速云網站的內容還不錯,歡迎將億速云網站推薦給身邊好友。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。