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


Posted in Python onJuly 10, 2015

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

Python 相关文章推荐
PYTHON 中使用 GLOBAL引发的一系列问题
Oct 12 Python
老生常谈python之鸭子类和多态
Jun 13 Python
Python使用arrow库优雅地处理时间数据详解
Oct 10 Python
pycharm远程调试openstack的图文教程
Nov 21 Python
windows下Virtualenvwrapper安装教程
Dec 13 Python
使用Numpy读取CSV文件,并进行行列删除的操作方法
Jul 04 Python
python画图——实现在图上标注上具体数值的方法
Jul 08 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
pyenv与virtualenv安装实现python多版本多项目管理
Aug 17 Python
利用matplotlib实现根据实时数据动态更新图形
Dec 13 Python
python实现简单飞行棋
Feb 06 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
Python自动登录126邮箱的方法
Jul 10 #Python
Python获取邮件地址的方法
Jul 10 #Python
python实现中文分词FMM算法实例
Jul 10 #Python
Python实现的最近最少使用算法
Jul 10 #Python
Python导入oracle数据的方法
Jul 10 #Python
Python验证码识别的方法
Jul 10 #Python
Python实现大文件排序的方法
Jul 10 #Python
You might like
ThinkPHP采用实现三级循环代码实例
2014/07/18 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
PDO::errorCode讲解
2019/01/28 PHP
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
2013/10/23 Javascript
无刷新预览所选择的图片示例代码
2014/04/02 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
JavaScript实现数字数组正序排列的方法
2015/04/06 Javascript
JavaScript中的slice()方法使用详解
2015/06/06 Javascript
javascript中eval解析JSON字符串
2016/02/27 Javascript
jQuery实现图像旋转动画效果
2016/05/29 Javascript
jquery事件与绑定事件
2017/03/16 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
详解Chart.js轻量级图表库的使用经验
2018/05/22 Javascript
JavaScript 正则命名分组【推荐】
2018/06/07 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
element的el-table中记录滚动条位置的示例代码
2019/11/06 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
Python编程中的for循环语句学习教程
2015/10/14 Python
解决python3 HTMLTestRunner测试报告中文乱码的问题
2018/12/17 Python
Python实现二叉树的常见遍历操作总结【7种方法】
2019/03/06 Python
通过shell+python实现企业微信预警
2019/03/07 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
2019/08/07 Python
中文系师范生自荐信
2013/10/01 职场文书
物理研修随笔感言
2014/02/14 职场文书
全运会口号
2014/06/20 职场文书
我的职业生涯规划:打造自己的运动帝国
2014/09/18 职场文书
2014年工程工作总结
2014/11/25 职场文书
先进单位申报材料
2014/12/25 职场文书
酒店服务员岗位职责
2015/02/09 职场文书
2015年扫黄打非工作总结
2015/05/13 职场文书
2015年中秋寄语
2015/07/31 职场文书
mysql优化之query_cache_limit参数说明
2021/07/01 MySQL
SQL Server中使用判断语句(IF ELSE/CASE WHEN )案例
2021/07/07 SQL Server
PHP中多字节字符串操作实例详解
2021/08/23 PHP