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

Tulla ·
更新时间:2024-09-21
· 882 次阅读

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

前面一篇介绍了《Java实现的求解经典罗马数字和阿拉伯数字相互转换问题》,这里来看看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函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》

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

您可能感兴趣的文章:Python3实现的判断回文链表算法示例Python3最长回文子串算法示例Python计算回文数的方法python实现求最长回文子串长度python实现寻找最长回文子序列的方法对python判断是否回文数的实例详解Python实现判断一个整数是否为回文数算法示例Python将阿拉伯数字转换为罗马数字的方法Python实现将罗马数字转换成普通阿拉伯数字的方法Python3.5实现的罗马数字转换成整数功能示例Python3实现的回文数判断及罗马数字转整数算法示例



阿拉伯数字 示例 罗马 罗马数字 Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号