Python简单实现阿拉伯数字和罗马数字的互相转换功能示例


Posted in Python onApril 17, 2018

本文实例讲述了Python实现阿拉伯数字和罗马数字的互相转换功能。分享给大家供大家参考,具体如下:

前面一篇介绍了《Java实现的求解经典罗马数字和阿拉伯数字相互转换问题》,这里来看看Python的实现方法。

题目很简单,如果之前也做过这种题目的话,相信对于什么是罗马数字就不会很陌生了,罗马数字是很古老的计数方法,现在的一些地方还有见到它的使用,下面简单贴两张维基百科的图片简单回顾一下罗马数字:

Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

今天简单实现一下,阿拉伯数字和罗马数字之间的相互转化问题,很简单就不多说了,下面是具体的实现:

#!usr/bin/env python
#encoding:utf-8
'''''
__Author__:沂水寒城
功能:阿拉伯数字和罗马数字的互相转换
'''
def transform_alabo2_roman_num(one_num):
  '''''
  将阿拉伯数字转化为罗马数字
  '''
  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):
  '''''
  将罗马数字转化为阿拉伯数字
  '''
  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 '**************将罗马数字转化为阿拉伯数字**************'
  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 '**************将阿拉伯数字转化为罗马数字**************'
  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)

结果如下:

Python简单实现阿拉伯数字和罗马数字的互相转换功能示例

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

Python 相关文章推荐
Python求解平方根的方法
Mar 11 Python
Python装饰器知识点补充
May 28 Python
python单例模式获取IP代理的方法详解
Sep 13 Python
python爬虫 urllib模块反爬虫机制UA详解
Aug 20 Python
浅析PEP570新语法: 只接受位置参数
Oct 15 Python
python numpy 矩阵堆叠实例
Jan 17 Python
Python 批量读取文件中指定字符的实现
Mar 06 Python
Python 实现3种回归模型(Linear Regression,Lasso,Ridge)的示例
Oct 15 Python
PyQt5的QWebEngineView使用示例
Oct 20 Python
python编写扎金花小程序的实例代码
Feb 23 Python
Python爬取网站图片并保存的实现示例
Feb 26 Python
python神经网络学习 使用Keras进行回归运算
May 04 Python
python3库numpy数组属性的查看方法
Apr 17 #Python
对python中的for循环和range内置函数详解
Apr 17 #Python
Numpy数组转置的两种实现方法
Apr 17 #Python
详解Django之auth模块(用户认证)
Apr 17 #Python
numpy中实现ndarray数组返回符合特定条件的索引方法
Apr 17 #Python
python中找出numpy array数组的最值及其索引方法
Apr 17 #Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 #Python
You might like
如何使用php判断服务器是否是HTTPS连接
2013/07/05 PHP
php递归删除目录下的文件但保留的实例分享
2014/05/10 PHP
PHP简单实现冒泡排序的方法
2016/12/26 PHP
PHP实现简单的协程任务调度demo示例
2020/02/01 PHP
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
js substr支持中文截取函数代码(中文是双字节)
2013/04/17 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
jQuery实现的放大镜效果示例
2016/09/13 Javascript
bootstrap fileinput完整实例分享
2016/11/08 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
五步轻松实现zTree的使用
2017/11/01 Javascript
使用jQuery 操作table 完成单元格合并的实例
2017/12/27 jQuery
layui动态加载多表头的实例
2019/09/05 Javascript
[01:50]2014DOTA2西雅图邀请赛 专访欢乐周宝龙
2014/07/08 DOTA
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
为Python程序添加图形化界面的教程
2015/04/29 Python
transform python环境快速配置方法
2018/09/27 Python
python: 判断tuple、list、dict是否为空的方法
2018/10/22 Python
Python实现多进程的四种方式
2019/02/22 Python
python读取excel数据并且画图的实现示例
2021/02/08 Python
css3翻牌翻数字的示例代码
2020/02/07 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
2015/04/24 HTML / CSS
html2canvas生成的图片偏移不完整的解决方法
2020/05/19 HTML / CSS
美国滑雪板和装备购物网站:Skis.com
2018/12/20 全球购物
有原因的手表:Flex Watches
2019/03/23 全球购物
雅虎笔试题(字符串操作)
2015/03/24 面试题
经济贸易专业自荐信
2014/06/11 职场文书
财务管理专业自荐书
2014/09/02 职场文书
领导班子四风查摆对照检查材料思想汇报
2014/10/05 职场文书
齐云山导游词
2015/02/06 职场文书
入团介绍人意见范文
2015/06/04 职场文书
2015入党自传书范文
2015/06/26 职场文书