国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python3.5實現的羅馬數字轉換成整數功能示例

2020-02-16 01:21:41
字體:
來源:轉載
供稿:網友

本文實例講述了Python3.5實現的羅馬數字轉換成整數功能。分享給大家供大家參考,具體如下:

問題概述:

給定一個羅馬數字 ,將羅馬數字轉換成整數。

如羅馬數字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 -*-#! python3chart = {'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}strs = input()result = 0omit = -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)

測試運行結果:

如有更好更簡潔的想法,請留言

更多關于Python相關內容感興趣的讀者可查看本站專題:《Python數學運算技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經典教程》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 陈巴尔虎旗| 香港| 资兴市| 达日县| 霍林郭勒市| 昌乐县| 夹江县| 永康市| 桑日县| 张家港市| 肇源县| 永城市| 荔浦县| 湘潭县| 永寿县| 泽库县| 鄯善县| 九龙城区| 苗栗市| 来凤县| 平定县| 屯昌县| 南开区| 南郑县| 商都县| 屏东市| 扬中市| 清河县| 康平县| 虞城县| 清丰县| 临沂市| 哈巴河县| 齐齐哈尔市| 北海市| 合作市| 瑞金市| 合阳县| 绿春县| 安新县| 阿拉善左旗|