45fan.com - 路饭网

搜索: 您的位置主页 > 网络频道 > 阅读资讯:Python如何把阿拉伯数字转换成罗马数字?

Python如何把阿拉伯数字转换成罗马数字?

2015-07-27 06:32:42 来源:www.45fan.com 【

Python如何把阿拉伯数字转换成罗马数字?

本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法。分享给大家供大家参考。具体实现方法如下:

def numToRomanNum(Num):
 """digital will be converted into Roman numerals,Ex: numToRomanNum(3999)"""
  if Num < 1 or Num > 3999:
   print 'The Num must in 1-3999'
  else:
   NumDic = {
    '1':('I','IV','V','IX'),
    '2':('X','XL','L','XC'),
    '3':('C','CD','D','CM'),
    '4':('M')
    }
   items = sorted(NumDic.items())
   retstr = ''
   for item in items:
    str = ''
    (Num,modNum) = divmod(Num,10)
    if modNum != 0:
     if item[0] != '4':
      if modNum <= 3:
       while modNum > 0:
        str = str.join(['',item[1][0]])
        modNum -= 1
      elif modNum < 5:
       str = item[1][1]
      elif modNum == 5:
       str = item[1][2]
      elif modNum < 9:
       str = item[1][2]
       while modNum > 5:
        str = str.join(['',item[1][0]])
        modNum -= 1
      else:
       str = item[1][3]
     else:
      while modNum > 0:
       str = str.join(['',item[1][0]])
       modNum -= 1
     retstr = str.join(['',retstr])
   return retstr

希望本文所述对大家的Python程序设计有所帮助。


本文地址:http://www.45fan.com/a/question/15788.html
Tags: python 转换 阿拉伯数字
编辑:路饭网
关于我们 | 联系我们 | 友情链接 | 网站地图 | Sitemap | App | 返回顶部