欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3.5實(shí)現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能示例

 更新時(shí)間:2019年02月25日 11:23:03   作者:weixin_39406894  
這篇文章主要介紹了Python3.5實(shí)現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能,涉及Python字符串遍歷與數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python3.5實(shí)現(xiàn)的羅馬數(shù)字轉(zhuǎn)換成整數(shù)功能。分享給大家供大家參考,具體如下:

問題概述:

給定一個(gè)羅馬數(shù)字 ,將羅馬數(shù)字轉(zhuǎn)換成整數(shù)。

如羅馬數(shù)字I,II,III,IV,V分別代表數(shù)字 1, 2, 3, 4, 51,2,3,4,5。

首先要來了解一下羅馬數(shù)字表示法,基本字符有 7 個(gè):I、V、X、L、C、D、M,分別表示 1、5、10、50、100、500、1000。

在構(gòu)成數(shù)字的時(shí)候,有下列規(guī)則:

1、相同的數(shù)字連寫,所表示的數(shù)等于這些數(shù)字相加得到的數(shù),如:III = 3;

2、小的數(shù)字在大的數(shù)字的右邊,所表示的數(shù)等于這些數(shù)字相加得到的數(shù), 如:VIII = 8;XII = 12;

3、小的數(shù)字,(限于Ⅰ、X和C)在大的數(shù)字的左邊,所表示的數(shù)等于大數(shù)減小數(shù)得到的數(shù),如:IV = 4;IX = 9;

4、正常使用時(shí),連寫的數(shù)字重復(fù)不得超過三次。

輸入格式

輸入一個(gè)羅馬數(shù)字字符串,其對(duì)應(yīng)的數(shù)字為 s (1≤s≤3999)。

輸出格式

輸出對(duì)應(yīng)的整數(shù) s。

以下是詳細(xì)代碼:

# -*- 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]]: # 如果前一位對(duì)應(yīng)值小于后一位的
        result += chart[strs[i+1]] - chart[strs[i]] # 進(jìn)行減操作
        omit = i+1 # 省略下一位字符
      else:
        result += chart[strs[i]]
    else: # 遍歷到最后一位
      result += chart[strs[i]]
  print(result)

測(cè)試運(yùn)行結(jié)果:

如有更好更簡(jiǎn)潔的想法,請(qǐng)留言

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進(jìn)階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python?面向?qū)ο箝_發(fā)及基本特征

    python?面向?qū)ο箝_發(fā)及基本特征

    面向?qū)ο缶幊淌且环N編程方式,此編程方式的落地需要使用“類”和 “對(duì)象”來實(shí)現(xiàn),所以,面向?qū)ο缶幊唐鋵?shí)就是對(duì) “類”和“對(duì)象” 的使用,今天給大家介紹下python?面向?qū)ο箝_發(fā)及基本特征,感興趣的朋友一起看看吧
    2022-03-03
  • 爬蟲訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像

    爬蟲訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像

    這篇文章主要為大家介紹了爬蟲訓(xùn)練前端基礎(chǔ)Bootstrap5排版表格圖像,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • python指定寫入文件時(shí)的編碼格式方法

    python指定寫入文件時(shí)的編碼格式方法

    今天小編就為大家分享一篇python指定寫入文件時(shí)的編碼格式方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python爬蟲爬取糗事百科段子實(shí)例分享

    Python爬蟲爬取糗事百科段子實(shí)例分享

    在本篇文章里小編給大家整理了關(guān)于Python爬蟲爬取糗事百科段子實(shí)例內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • Python實(shí)現(xiàn)文件內(nèi)容批量追加的方法示例

    Python實(shí)現(xiàn)文件內(nèi)容批量追加的方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)文件內(nèi)容批量追加的方法,結(jié)合實(shí)例形式分析了Python文件的讀寫相關(guān)操作技巧,需要的朋友可以參考下
    2017-08-08
  • 基于Python實(shí)現(xiàn)語(yǔ)音合成小工具

    基于Python實(shí)現(xiàn)語(yǔ)音合成小工具

    TTS(Text To Speech)是一種語(yǔ)音合成技術(shù),可以讓機(jī)器將輸入文本以語(yǔ)音的方式播放出來,實(shí)現(xiàn)機(jī)器說話的效果。本文將使用pyttsx3庫(kù)作為示范,編寫一個(gè)語(yǔ)音合成小工具,感興趣的可以了解一下
    2022-12-12
  • python PyQt5中QRadioButton的詳細(xì)使用教程與應(yīng)用實(shí)戰(zhàn)

    python PyQt5中QRadioButton的詳細(xì)使用教程與應(yīng)用實(shí)戰(zhàn)

    PyQt5是一個(gè)跨平臺(tái)的GUI工具包,用于創(chuàng)建具有Python綁定的Qt應(yīng)用程序,在PyQt5中,QRadioButton是一個(gè)非常有用的控件,用于在用戶界面上提供單選選項(xiàng),本文將詳細(xì)介紹QRadioButton的基本用法、常用屬性和方法,需要的朋友可以參考下
    2024-08-08
  • 通過Pandas讀取大文件的實(shí)例

    通過Pandas讀取大文件的實(shí)例

    今天小編就為大家分享一篇通過Pandas讀取大文件的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Python解析網(wǎng)頁(yè)源代碼中的115網(wǎng)盤鏈接實(shí)例

    Python解析網(wǎng)頁(yè)源代碼中的115網(wǎng)盤鏈接實(shí)例

    這篇文章主要介紹了Python解析網(wǎng)頁(yè)源代碼中的115網(wǎng)盤鏈接實(shí)例,主要采用了正則表達(dá)式re模塊來實(shí)現(xiàn)該功能,需要的朋友可以參考下
    2014-09-09
  • Django JSonResponse對(duì)象的實(shí)現(xiàn)

    Django JSonResponse對(duì)象的實(shí)現(xiàn)

    本文主要介紹了Django JSonResponse對(duì)象的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03

最新評(píng)論