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之有容乃大的list(3)
Sep 15 Python
Python验证码识别的方法
Jul 10 Python
Python中标准模块importlib详解
Apr 16 Python
Zookeeper接口kazoo实例解析
Jan 22 Python
使用Python计算玩彩票赢钱概率
Jun 26 Python
python 日期排序的实例代码
Jul 11 Python
wxpython绘制圆角窗体
Nov 18 Python
Tensorflow 实现分批量读取数据
Jan 04 Python
python实现按键精灵找色点击功能教程,使用pywin32和Pillow库
Jun 04 Python
Python常驻任务实现接收外界参数代码解析
Jul 21 Python
Python 微信公众号文章爬取的示例代码
Nov 30 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 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脚本加密专家php解密算法
2020/09/13 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
精通Javascript系列之数据类型 字符串
2011/06/08 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
seajs学习之模块的依赖加载及模块API的导出
2016/10/20 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
javascript 中的try catch应用总结
2017/04/01 Javascript
javascript编写简易计算器
2017/05/06 Javascript
Node.js 基础教程之全局对象
2017/08/06 Javascript
微信小程序实现页面跳转传值以及获取值的方法分析
2017/12/18 Javascript
Angular实现点击按钮后在上方显示输入内容的方法
2017/12/27 Javascript
简单说说angular.json文件的使用
2018/10/29 Javascript
[01:04:05]Mineski vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
从零学Python之入门(三)序列
2014/05/25 Python
python实现多进程按序号批量修改文件名的方法示例
2019/12/30 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
python中count函数知识点浅析
2020/12/17 Python
StubHub意大利:购买和出售全球演唱会和体育赛事门票
2017/11/21 全球购物
后勤主管工作职责
2013/12/07 职场文书
保护动物倡议书
2014/04/15 职场文书
爱国演讲稿500字
2014/05/04 职场文书
超市开店计划书
2014/09/15 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
2014预防青少年违法犯罪工作总结
2014/12/10 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
学校体育节班级口号
2015/12/25 职场文书
2016年少先队活动总结
2016/04/06 职场文书
三好学生竞选稿范文
2019/08/21 职场文书
关于食品安全的演讲稿范文(三篇)
2019/10/21 职场文书
html实现随机点名器的示例代码
2021/04/02 Javascript
CSS3 Tab动画实例之背景切换动态效果
2021/08/23 HTML / CSS