最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python簡(jiǎn)單實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能示例

 更新時(shí)間:2018年04月17日 10:02:39   作者:Together_CZ  
這篇文章主要介紹了Python簡(jiǎn)單實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能,涉及Python針對(duì)字符串與列表的遍歷、運(yùn)算等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python實(shí)現(xiàn)阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換功能。分享給大家供大家參考,具體如下:

前面一篇介紹了《Java實(shí)現(xiàn)的求解經(jīng)典羅馬數(shù)字和阿拉伯?dāng)?shù)字相互轉(zhuǎn)換問題》,這里來看看Python的實(shí)現(xiàn)方法。

題目很簡(jiǎn)單,如果之前也做過這種題目的話,相信對(duì)于什么是羅馬數(shù)字就不會(huì)很陌生了,羅馬數(shù)字是很古老的計(jì)數(shù)方法,現(xiàn)在的一些地方還有見到它的使用,下面簡(jiǎn)單貼兩張維基百科的圖片簡(jiǎn)單回顧一下羅馬數(shù)字:

今天簡(jiǎn)單實(shí)現(xiàn)一下,阿拉伯?dāng)?shù)字和羅馬數(shù)字之間的相互轉(zhuǎn)化問題,很簡(jiǎn)單就不多說了,下面是具體的實(shí)現(xiàn):

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:阿拉伯?dāng)?shù)字和羅馬數(shù)字的互相轉(zhuǎn)換
'''
def transform_alabo2_roman_num(one_num):
  '''''
  將阿拉伯?dāng)?shù)字轉(zhuǎn)化為羅馬數(shù)字
  '''
  num_list=[1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1]
  str_list=["M", "CM", "D", "CD", "C", "XC", "L", "XL", "X", "IX", "V", "IV", "I"]
  res=''
  for i in range(len(num_list)):
    while one_num>=num_list[i]:
      one_num-=num_list[i]
      res+=str_list[i]
  return res
def transform_roman_num2_alabo(one_str):
  '''''
  將羅馬數(shù)字轉(zhuǎn)化為阿拉伯?dāng)?shù)字
  '''
  define_dict={'I':1,'V':5,'X':10,'L':50,'C':100,'D':500,'M':1000}
  if one_str=='0':
    return 0
  else:
    res=0
    for i in range(0,len(one_str)):
      if i==0 or define_dict[one_str[i]]<=define_dict[one_str[i-1]]:
        res+=define_dict[one_str[i]]
      else:
        res+=define_dict[one_str[i]]-2*define_dict[one_str[i-1]]
    return res
    # #下面這種寫法也可以
    # for i in range(len(one_str)):
    #   if i > 0 and define_dict[one_str[i]] > define_dict[one_str[i - 1]]:
    #     res -= define_dict[one_str[i - 1]]
    #     res += define_dict[one_str[i]] - define_dict[one_str[i - 1]]
    #   else:
    #     res += define_dict[one_str[i]]
    # return res
if __name__ == '__main__':
  print '**************將羅馬數(shù)字轉(zhuǎn)化為阿拉伯?dāng)?shù)字**************'
  one_str_list=['DII','XV','MDCLXVI','XII','VIII','XCIX','XII']
  for one_str in one_str_list:
    print one_str,'----->',transform_roman_num2_alabo(one_str)
  print '**************將阿拉伯?dāng)?shù)字轉(zhuǎn)化為羅馬數(shù)字**************'
  one_num_list=[77,66,55,8,1200,34,65,3,21,99]
  for one_num in one_num_list:
    print one_num,'----->',transform_alabo2_roman_num(one_num)

結(jié)果如下:

更多關(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中使用Frozenset對(duì)象的案例詳解

    Python中使用Frozenset對(duì)象的案例詳解

    Frozensets提供了一種創(chuàng)建不可變的集合的方法,它們只接受唯一的元素,并且是可散列類型的對(duì)象,所以它們可以在其他只接受可散列對(duì)象作為子對(duì)象的?Python?對(duì)象中使用,這篇文章主要介紹了如何在Python中使用Frozenset對(duì)象,需要的朋友可以參考下
    2022-08-08
  • Django中反向生成models.py的實(shí)例講解

    Django中反向生成models.py的實(shí)例講解

    今天小編就為大家分享一篇Django中反向生成models.py的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python內(nèi)置模塊Collections的使用教程詳解

    Python內(nèi)置模塊Collections的使用教程詳解

    collections 是 Python 的一個(gè)內(nèi)置模塊,所謂內(nèi)置模塊的意思是指 Python 內(nèi)部封裝好的模塊,無需安裝即可直接使用。本文將詳解介紹Collections的使用方式,需要的可以參考一下
    2022-03-03
  • Python計(jì)算字符寬度的方法

    Python計(jì)算字符寬度的方法

    這篇文章主要介紹了Python計(jì)算字符寬度的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Python針對(duì)字符寬度的計(jì)算方法,需要的朋友可以參考下
    2016-06-06
  • 對(duì)比分析BN和dropout在預(yù)測(cè)和訓(xùn)練時(shí)區(qū)別

    對(duì)比分析BN和dropout在預(yù)測(cè)和訓(xùn)練時(shí)區(qū)別

    這篇文章主要為大家介紹了對(duì)比分析BN和dropout在預(yù)測(cè)和訓(xùn)練時(shí)區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • jupyter notebook保存文件默認(rèn)路徑更改方法匯總(親測(cè)可以)

    jupyter notebook保存文件默認(rèn)路徑更改方法匯總(親測(cè)可以)

    安裝Anaconda后,新建文件的默認(rèn)存儲(chǔ)路徑一般在C系統(tǒng)盤,那么路徑是什么呢?如何更改jupyter notebook保存文件默認(rèn)路徑呢?今天小編就這一問題通過兩種方法給大家講解,需要的朋友跟隨小編一起看看吧
    2021-06-06
  • 調(diào)試Python程序代碼的幾種方法總結(jié)

    調(diào)試Python程序代碼的幾種方法總結(jié)

    這篇文章主要介紹了調(diào)試Python程序代碼的幾種方法總結(jié),文中代碼基于Python2.x版本,需要的朋友可以參考下
    2015-04-04
  • 為何人工智能(AI)首選Python?讀完這篇文章你就知道了(推薦)

    為何人工智能(AI)首選Python?讀完這篇文章你就知道了(推薦)

    這篇文章主要介紹了為何人工智能(AI)首選Python,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 解決pyqt5中QToolButton無法使用的問題

    解決pyqt5中QToolButton無法使用的問題

    今天小編就為大家分享一篇解決pyqt5中QToolButton無法使用的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • Python基礎(chǔ)學(xué)習(xí)之認(rèn)識(shí)線程

    Python基礎(chǔ)學(xué)習(xí)之認(rèn)識(shí)線程

    這篇文章主要介紹了Python線程,這篇開始我們將進(jìn)入中級(jí)編程。處理更加復(fù)雜事情。比如本文的線程,咱們先從基礎(chǔ)知識(shí)入手,需要的朋友可以參考下下面文章的詳細(xì)內(nèi)容
    2022-02-02

最新評(píng)論

马龙县| 临夏县| 玉环县| 惠州市| 宁陵县| 垣曲县| 遂平县| 弥勒县| 广德县| 勐海县| 陇西县| 仙游县| 百色市| 鄯善县| 民勤县| 太仆寺旗| 定陶县| 大竹县| 务川| 嘉黎县| 山丹县| 浪卡子县| 乌什县| 日喀则市| 册亨县| 和平县| 高碑店市| 阿鲁科尔沁旗| 齐河县| 浙江省| 仲巴县| 若尔盖县| 金溪县| 通渭县| 正蓝旗| 泸州市| 大厂| 砚山县| 康马县| 台东市| 沁阳市|