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对列表去重的多种方法(四种方法)
Dec 05 Python
python实现校园网自动登录的示例讲解
Apr 22 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Python单元和文档测试实例详解
Apr 11 Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 Python
pytorch模型预测结果与ndarray互转方式
Jan 15 Python
TensorFlow梯度求解tf.gradients实例
Feb 04 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
利用python绘制数据曲线图的实现
Apr 09 Python
Python OrderedDict字典排序方法详解
May 21 Python
python爬虫线程池案例详解(梨视频短视频爬取)
Feb 20 Python
详解Python中的for循环
Apr 30 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正则判断是否为合法身份证号的方法
2017/03/16 PHP
js 解决“options为空或不是对象”
2008/12/22 Javascript
Js控制弹窗实现在任意分辨率下居中显示
2013/08/01 Javascript
jquery中的on方法使用介绍
2013/12/29 Javascript
Egret引擎开发指南之发布项目
2014/09/03 Javascript
Flow之一个新的Javascript静态类型检查器
2015/12/21 Javascript
JS当前页面登录注册框,固定DIV,底层阴影的实例代码
2016/09/29 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
jQuery中的on与bind绑定事件区别实例详解
2017/02/28 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
浅谈gulp创建完整的项目流程
2017/12/20 Javascript
JS实现移动端触屏拖拽功能
2018/07/31 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
微信小程序登录态和检验注册过没的app.js写法
2019/05/22 Javascript
Vue v-text指令简单使用方法示例
2019/09/19 Javascript
layui.tree组件的使用以及搜索节点功能的实现
2019/09/26 Javascript
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
浅谈使用Python内置函数getattr实现分发模式
2018/01/22 Python
Python迭代器与生成器基本用法分析
2018/07/26 Python
python numpy数组的索引和切片的操作方法
2018/10/20 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python修改列表值问题解决方案
2020/03/06 Python
html5指南-2.如何操作document metadata
2013/01/07 HTML / CSS
HTML5播放实现rtmp流直播
2020/06/16 HTML / CSS
数学国培研修感言
2014/02/13 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
统计工作个人总结
2015/03/03 职场文书
我们的节日中秋节活动总结
2015/03/23 职场文书
关于倡议书的范文
2015/04/29 职场文书
2015年高三教学工作总结
2015/07/21 职场文书
《酸的和甜的》教学反思
2016/02/18 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书