首页 > 编程 > Python > 正文

Python将阿拉伯数字转换为罗马数字的方法

2019-11-25 17:12:13
字体:
来源:转载
供稿:网友

本文实例讲述了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程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表